Method: DeltaChanges::Extension::ClassMethods#define_virtual_attribute_delta_methods

Defined in:
lib/delta_changes.rb

#define_virtual_attribute_delta_methodsObject

Provide for delta tracking of virtual (non-column) attributes.



21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/delta_changes.rb', line 21

def define_virtual_attribute_delta_methods
  delta_changes_options[:attributes].each do |tracked_attribute|
    class_eval do
      define_method("#{tracked_attribute}_delta_changed?") do
        attribute_delta_changed?(tracked_attribute)
      end

      define_method("#{tracked_attribute}_delta_change") do
        attribute_delta_change(tracked_attribute)
      end

      define_method("#{tracked_attribute}_delta_was") do
        attribute_delta_was(tracked_attribute)
      end

      define_method("#{tracked_attribute}_delta_will_change!") do |*args|
        attribute_delta_will_change!(tracked_attribute, *args)
      end
    end
  end
end