self.included

in elasticsearch-model/lib/elasticsearch/model/indexing.rb [321:345]


        def self.included(base)
          
          
          
          
          
          
          
          
          
          base.before_save do |obj|
            if obj.respond_to?(:changes_to_save) 
              changes_to_save = obj.changes_to_save
            elsif obj.respond_to?(:changes)
              changes_to_save = obj.changes
            end

            if changes_to_save
              attrs = obj.instance_variable_get(:@__changed_model_attributes) || {}
              latest_changes = changes_to_save.inject({}) { |latest_changes, (k,v)| latest_changes.merge!(k => v.last) }
              obj.instance_variable_set(:@__changed_model_attributes, attrs.merge(latest_changes))
            end
          end if base.respond_to?(:before_save)
        end