Module: Elasticsearch::Model::Extensions::PartialUpdating::ClassMethods
- Defined in:
- lib/elasticsearch/model/extensions/partial_updating.rb
Instance Method Summary collapse
- #as_json_options ⇒ Object
- #each_field_to_update_according_to_changed_fields(changed_fields) ⇒ Object
- #fields_to_update_according_to_changed_fields(changed_fields) ⇒ Object
- #partial_as_json_options(field) ⇒ Object
Instance Method Details
#as_json_options ⇒ Object
104 105 106 107 108 109 |
# File 'lib/elasticsearch/model/extensions/partial_updating.rb', line 104 def @as_json_options ||= Elasticsearch::Model::Extensions::PartialUpdating.( klass: self, props: self.mappings.to_hash[self.document_type.intern][:properties] ) end |
#each_field_to_update_according_to_changed_fields(changed_fields) ⇒ Object
115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 |
# File 'lib/elasticsearch/model/extensions/partial_updating.rb', line 115 def each_field_to_update_according_to_changed_fields(changed_fields) root_mapping_properties = mappings.to_hash[:"#{document_type}"][:properties] changed_fields.each do |changed_field| field_mapping = root_mapping_properties[:"#{changed_field}"] next unless field_mapping yield changed_field end each_dependent_attribute_for(changed_fields.map(&:to_s)) do |a| a_sym = a.intern yield a_sym end end |
#fields_to_update_according_to_changed_fields(changed_fields) ⇒ Object
133 134 135 136 137 138 139 |
# File 'lib/elasticsearch/model/extensions/partial_updating.rb', line 133 def fields_to_update_according_to_changed_fields(changed_fields) fields = [] each_field_to_update_according_to_changed_fields changed_fields do |field_to_update| fields << field_to_update end fields end |
#partial_as_json_options(field) ⇒ Object
111 112 113 |
# File 'lib/elasticsearch/model/extensions/partial_updating.rb', line 111 def (field) [:include][field] end |