Module: Granite::Form::Model::Dirty::ClassMethods

Defined in:
lib/granite/form/model/dirty.rb

Instance Method Summary collapse

Instance Method Details

#define_dirty(method, target = self) ⇒ Object



57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# File 'lib/granite/form/model/dirty.rb', line 57

def define_dirty(method, target = self)
  reflection = reflect_on_attribute(method)
  name = reflection ? reflection.name : method

  %w[changed? change will_change! was
     previously_changed? previous_change].each do |suffix|
    target.class_eval "    def \#{method}_\#{suffix}\n      attribute_\#{suffix} '\#{name}'\n    end\n    RUBY\n  end\n\n  target.class_eval <<-RUBY, __FILE__, __LINE__ + 1\n  def restore_\#{method}!\n    restore_attribute! '\#{name}'\n  end\n  RUBY\nend\n", __FILE__, __LINE__ + 1

#dirty?Boolean

Returns:



77
78
79
# File 'lib/granite/form/model/dirty.rb', line 77

def dirty?
  true
end