module Elasticsearch::Model::Extensions::DependencyTracking
Public Class Methods
included(base)
click to toggle source
# 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