Class: Igniter::Extensions::Contracts::Dataflow::Diff
- Inherits:
-
Struct
- Object
- Struct
- Igniter::Extensions::Contracts::Dataflow::Diff
- Defined in:
- lib/igniter/extensions/contracts/dataflow/diff.rb
Instance Attribute Summary collapse
-
#added ⇒ Object
Returns the value of attribute added.
-
#changed ⇒ Object
Returns the value of attribute changed.
-
#removed ⇒ Object
Returns the value of attribute removed.
-
#unchanged ⇒ Object
Returns the value of attribute unchanged.
Instance Method Summary collapse
Instance Attribute Details
#added ⇒ Object
Returns the value of attribute added
7 8 9 |
# File 'lib/igniter/extensions/contracts/dataflow/diff.rb', line 7 def added @added end |
#changed ⇒ Object
Returns the value of attribute changed
7 8 9 |
# File 'lib/igniter/extensions/contracts/dataflow/diff.rb', line 7 def changed @changed end |
#removed ⇒ Object
Returns the value of attribute removed
7 8 9 |
# File 'lib/igniter/extensions/contracts/dataflow/diff.rb', line 7 def removed @removed end |
#unchanged ⇒ Object
Returns the value of attribute unchanged
7 8 9 |
# File 'lib/igniter/extensions/contracts/dataflow/diff.rb', line 7 def unchanged @unchanged end |
Instance Method Details
#any_changes? ⇒ Boolean
8 9 10 |
# File 'lib/igniter/extensions/contracts/dataflow/diff.rb', line 8 def any_changes? added.any? || removed.any? || changed.any? end |
#explain ⇒ Object
16 17 18 19 20 21 22 23 |
# File 'lib/igniter/extensions/contracts/dataflow/diff.rb', line 16 def explain parts = [] parts << "added(#{added.size}): #{added.inspect}" unless added.empty? parts << "removed(#{removed.size}): #{removed.inspect}" unless removed.empty? parts << "changed(#{changed.size}): #{changed.inspect}" unless changed.empty? parts << "unchanged(#{unchanged.size})" unless unchanged.empty? parts.empty? ? "(no changes)" : parts.join(", ") end |
#processed_count ⇒ Object
12 13 14 |
# File 'lib/igniter/extensions/contracts/dataflow/diff.rb', line 12 def processed_count added.size + changed.size end |
#to_h ⇒ Object
25 26 27 28 29 30 31 32 |
# File 'lib/igniter/extensions/contracts/dataflow/diff.rb', line 25 def to_h { added: added, removed: removed, changed: changed, unchanged: unchanged } end |