Module: ElasticRecord::Callbacks
- Defined in:
- lib/elastic_record/callbacks.rb
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.included(base) ⇒ Object
3 4 5 6 7 8 9 10 11 12 13 |
# File 'lib/elastic_record/callbacks.rb', line 3 def self.included(base) base.class_eval do after_save if: :changed? do self.class.elastic_index.index_record self end after_destroy do self.class.elastic_index.delete_document id end end end |
Instance Method Details
#as_search ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/elastic_record/callbacks.rb', line 16 def as_search json = {} elastic_index.mapping[:properties].each do |field, mapping| next if !respond_to?(field) value = send(field) if value.present? || value == false json[field] = case mapping[:type] when :object value.as_search when :nested value.map(&:as_search) else value end end end amend_as_search(json) if respond_to?(:amend_as_search) json end |