method

_enum_methods_module

Importance_0
v4.1.8 - 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 137
      def _enum_methods_module
        @_enum_methods_module ||= begin
          mod = Module.new do
            private
              def save_changed_attribute(attr_name, value)
                if (mapping = self.class.defined_enums[attr_name.to_s])
                  if attribute_changed?(attr_name)
                    old = changed_attributes[attr_name]

                    if mapping[old] == value
                      changed_attributes.delete(attr_name)
                    end
                  else
                    old = clone_attribute_value(:read_attribute, attr_name)

                    if old != value
                      changed_attributes[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.