Class: CloneKit::Decorators::EmbeddedClonerDecorator
- Inherits:
-
SimpleDelegator
- Object
- SimpleDelegator
- CloneKit::Decorators::EmbeddedClonerDecorator
- Defined in:
- lib/clone_kit/decorators/embedded_cloner_decorator.rb
Instance Attribute Summary collapse
-
#records ⇒ Object
readonly
Returns the value of attribute records.
Instance Method Summary collapse
- #clone_embedded(operation) ⇒ Object
-
#initialize(cloner, records:) ⇒ EmbeddedClonerDecorator
constructor
A new instance of EmbeddedClonerDecorator.
Constructor Details
#initialize(cloner, records:) ⇒ EmbeddedClonerDecorator
Returns a new instance of EmbeddedClonerDecorator.
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/clone_kit/decorators/embedded_cloner_decorator.rb', line 10 def initialize(cloner, records:) @records = records cloner.define_singleton_method(:each_existing_record) do |ids, &block| records.compact.select { |r| ids.include?(r["_id"]) }.each do |record| block.call(record) end end cloner.define_singleton_method(:save_or_fail) do |attributes| # NOP end super(cloner) end |
Instance Attribute Details
#records ⇒ Object (readonly)
Returns the value of attribute records.
8 9 10 |
# File 'lib/clone_kit/decorators/embedded_cloner_decorator.rb', line 8 def records @records end |
Instance Method Details
#clone_embedded(operation) ⇒ Object
26 27 28 |
# File 'lib/clone_kit/decorators/embedded_cloner_decorator.rb', line 26 def (operation) clone_ids(records.compact.map { |r| r["_id"] }, operation) end |