Class: BabelDiff::YamlDiffer
- Inherits:
-
Struct
- Object
- Struct
- BabelDiff::YamlDiffer
- Defined in:
- lib/babel_diff/yaml_differ.rb
Instance Attribute Summary collapse
-
#current_version ⇒ Object
Returns the value of attribute current_version.
-
#previous_version ⇒ Object
Returns the value of attribute previous_version.
Instance Method Summary collapse
Instance Attribute Details
#current_version ⇒ Object
Returns the value of attribute current_version
4 5 6 |
# File 'lib/babel_diff/yaml_differ.rb', line 4 def current_version @current_version end |
#previous_version ⇒ Object
Returns the value of attribute previous_version
4 5 6 |
# File 'lib/babel_diff/yaml_differ.rb', line 4 def previous_version @previous_version end |
Instance Method Details
#additions ⇒ Object
12 13 14 15 16 17 |
# 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 ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 30 |
# 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 ⇒ Object
5 6 7 8 9 10 |
# 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 |