method
_enum_methods_module
v4.2.7 -
Show latest stable
- Class:
ActiveRecord::Enum
_enum_methods_module()private
No documentation available.
# File activerecord/lib/active_record/enum.rb, line 138
def _enum_methods_module
@_enum_methods_module ||= begin
mod = Module.new do
private
def save_changed_attribute(attr_name, old)
if (mapping = self.class.defined_enums[attr_name.to_s])
value = _read_attribute(attr_name)
if attribute_changed?(attr_name)
if mapping[old] == value
clear_attribute_changes([attr_name])
end
else
if old != value
set_attribute_was(attr_name, mapping.key(old))
end
end
else
super
end
end
end
include mod
mod
end
end