class BabelDiff::YamlDiffer

Public Instance Methods

additions() click to toggle source
# File lib/babel_diff/yaml_differ.rb, line 12
def additions
  process_difference unless @processed
  @processed = true

  HashFlattener.new(additions_hash).unflatten.to_yaml
end
process_difference() click to toggle source
# File lib/babel_diff/yaml_differ.rb, line 19
def process_difference
  current = HashFlattener.new(current_version_hash).flatten
  previous = HashFlattener.new(previous_version_hash).flatten

  current.each do |k,v|
    if ! previous.has_key?(k)
      additions_hash[k] = v
    elsif previous[k] != v
      updates_hash[k] = v
    end
  end
end
updates() click to toggle source
# File lib/babel_diff/yaml_differ.rb, line 5
def updates
  process_difference unless @processed
  @processed = true

  HashFlattener.new(updates_hash).unflatten.to_yaml
end

Private Instance Methods

additions_hash() click to toggle source
# File lib/babel_diff/yaml_differ.rb, line 38
def additions_hash
  @additions_hash ||= {}
end
current_version_hash() click to toggle source
# File lib/babel_diff/yaml_differ.rb, line 46
def current_version_hash
  YAML.load(current_version) || {}
end
previous_version_hash() click to toggle source
# File lib/babel_diff/yaml_differ.rb, line 42
def previous_version_hash
  YAML.load(previous_version) || {}
end
updates_hash() click to toggle source
# File lib/babel_diff/yaml_differ.rb, line 34
def updates_hash
  @updated_hash ||= {}
end