Module: Elasticsearch::Model::Extensions::DependencyTracking
- Defined in:
- lib/elasticsearch/model/extensions/dependency_tracking.rb,
lib/elasticsearch/model/extensions/dependency_tracking/dependency_tracker.rb
Defined Under Namespace
Modules: ClassMethods Classes: DependencyTracker
Class Method Summary collapse
Class Method Details
.included(base) ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/elasticsearch/model/extensions/dependency_tracking.rb', line 7 def self.included(base) base.extend ClassMethods dependency_tracker = DependencyTracker.new(base) base.class_eval do before_validation do dependency_tracker.each_dependent_attribute_for(changes) do |a| attribute_will_change! a end end end # TODO Assert that @__dependency_tracker__ is nil to prevent users from facing terrible bugs # trying to include this module multiple times base.instance_variable_set :@__dependency_tracker__, dependency_tracker end |