method

_enum_methods_module

_enum_methods_module()
private

No documentation available.

# 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