module Elasticsearch::Model::Extensions::PartialUpdating
Public Class Methods
included(klass)
click to toggle source
# File lib/elasticsearch/model/extensions/partial_updating.rb, line 7 def self.included(klass) klass.extend ClassMethods klass.instance_variable_set :@__partial_updater__, PartialUpdater.new(klass) end
Public Instance Methods
as_indexed_json(options={})
click to toggle source
# File lib/elasticsearch/model/extensions/partial_updating.rb, line 13 def as_indexed_json(options={}) as_json(options.merge(self.class.__partial_updater__.as_json_options)) end
partially_update_document(*changed_attributes)
click to toggle source
# File lib/elasticsearch/model/extensions/partial_updating.rb, line 17 def partially_update_document(*changed_attributes) if changed_attributes.empty? __elasticsearch__.index_document else partial_updater = self.class.__partial_updater__ partial_document = partial_updater.build_partial_document_for_update_with_error_logging( record: self, changed_attributes: changed_attributes ) if partial_document partial_updater.update_document(id: self.id, doc: partial_document) end end true end