Class: Ecoportal::API::Common::GraphQL::Model::Diffable::DiffService
- Inherits:
-
ClassicDiffService
- Object
- ClassicDiffService
- Ecoportal::API::Common::GraphQL::Model::Diffable::DiffService
- Includes:
- HashHelpers, HashDiffNesting
- Defined in:
- lib/ecoportal/api/common/graphql/model/diffable/diff_service.rb
Constant Summary
Constants included from HashDiffNesting
HashDiffNesting::META_KEYS, HashDiffNesting::NO_CHANGES
Instance Attribute Summary
Attributes inherited from ClassicDiffService
Instance Method Summary collapse
- #diff(flat: flat?, , ignore: []) ⇒ Object
- #flat? ⇒ Boolean
-
#initialize(subject, flat: false, ignore: []) ⇒ DiffService
constructor
A new instance of DiffService.
Methods included from HashHelpers::InstanceMethods
#deep_dup, #except_keys, #keys_to_s_deep, #keys_to_sym_deep, #remove_nil_keys_deep
Methods included from HashDiffNesting::InstanceMethods
Constructor Details
#initialize(subject, flat: false, ignore: []) ⇒ DiffService
Returns a new instance of DiffService.
6 7 8 9 10 |
# File 'lib/ecoportal/api/common/graphql/model/diffable/diff_service.rb', line 6 def initialize(subject, flat: false, ignore: []) super(subject, ignore: ignore) @flat = flat end |
Instance Method Details
#diff(flat: flat?, , ignore: []) ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/ecoportal/api/common/graphql/model/diffable/diff_service.rb', line 21 def diff(flat: flat?, ignore: []) classic_diff( flat: true, ignore: ignore ).then do |value| next value if flat diff_reduce( value, ignore: ignore ) end end |
#flat? ⇒ Boolean
12 13 14 |
# File 'lib/ecoportal/api/common/graphql/model/diffable/diff_service.rb', line 12 def flat? @flat end |