Module: Elasticsearch::Model::Extensions::OuterDocumentUpdating

Defined in:
lib/elasticsearch/model/extensions/outer_document_updating.rb

Defined Under Namespace

Modules: ClassMethods Classes: Update

Constant Summary collapse

STRATEGIES =
[Update::ThroughPolymorphicAssociation, Update::Default]

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(klass) ⇒ Object



9
10
11
# File 'lib/elasticsearch/model/extensions/outer_document_updating.rb', line 9

def self.included(klass)
  klass.extend ClassMethods
end

.strategy_for(klass) ⇒ Object



94
95
96
# File 'lib/elasticsearch/model/extensions/outer_document_updating.rb', line 94

def self.strategy_for(klass)
  STRATEGIES.find { |s| s.applicable_to? klass }
end

Instance Method Details

#index_update_required?Boolean

Returns:

  • (Boolean)


13
14
15
16
# File 'lib/elasticsearch/model/extensions/outer_document_updating.rb', line 13

def index_update_required?
  (previous_changes.keys & self.class.nested_object_fields).size > 0 ||
    (previous_changes.size > 0 && self.class.has_dependent_fields?)
end