Class: Elasticsearch::Model::Extensions::DestroyCallback
- Defined in:
- lib/elasticsearch/model/extensions/destroy_callback.rb
Instance Method Summary collapse
Methods inherited from Callback
Constructor Details
This class inherits a constructor from Elasticsearch::Model::Extensions::Callback
Instance Method Details
#after_commit(record) ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/elasticsearch/model/extensions/destroy_callback.rb', line 7 def after_commit(record) field_to_update = config.field_to_update records_to_update_documents = config.records_to_update_documents optionally_delayed = config.optionally_delayed only_if = config.only_if block = config.block record.instance_eval do return unless only_if.call(self) target = records_to_update_documents.call(self) if target.respond_to? :each target.map(&:reload).map(&optionally_delayed).each do |t| block.call(t, [*field_to_update]) end else optionally_delayed.call(target.reload).partially_update_document(field_to_update) end end end |