method

_enum_methods_module

Importance_0
v4.2.9 - Show latest stable - 0 notes - Class: Enum
_enum_methods_module() private

No documentation

This method has no description. You can help the Ruby on Rails community by adding new notes.

Hide source
# 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
Register or log in to add new notes.