Module: ActiveModel::Dirty

Extended by:
ActiveSupport::Concern
Includes:
AttributeMethods
Included in:
TinyDyno::Document
Defined in:
lib/patch/active_model_support_test_value_patch.rb

Instance Method Summary collapse

Instance Method Details

#attribute_will_change!(attr) ⇒ Object

Handle *_will_change! for method_missing.



12
13
14
15
16
17
18
19
20
21
22
# File 'lib/patch/active_model_support_test_value_patch.rb', line 12

def attribute_will_change!(attr)
  return if attribute_changed?(attr)

  begin
    value = __send__(attr)
    value = value.duplicable? ? value.clone : value
  rescue TypeError, NoMethodError,ArgumentError
  end

  set_attribute_was(attr, value)
end