Module: ActiveRecord::AttributeMethods::Write

Extended by:
ActiveSupport::Concern
Defined in:
activerecord/lib/active_record/attribute_methods/write.rb

Defined Under Namespace

Modules: ClassMethods

Constant Summary collapse

WriterMethodCache =
Class.new(AttributeMethodCache) {
  private

  def method_body(method_name, const_name)
    <<-EOMETHOD
    def #{method_name}(value)
      name = ::ActiveRecord::AttributeMethods::AttrNames::ATTR_#{const_name}
      write_attribute(name, value)
    end
    EOMETHOD
  end
}.new

Instance Method Summary collapse

Methods included from ActiveSupport::Concern

append_features, extended, included

Instance Method Details

#raw_write_attribute(attr_name, value) ⇒ Object


61
62
63
# File 'activerecord/lib/active_record/attribute_methods/write.rb', line 61

def raw_write_attribute(attr_name, value)
  write_attribute_with_type_cast(attr_name, value, :raw_type_cast_attribute_for_write)
end

#write_attribute(attr_name, value) ⇒ Object

Updates the attribute identified by attr_name with the specified value. Empty strings for fixnum and float columns are turned into nil.


57
58
59
# File 'activerecord/lib/active_record/attribute_methods/write.rb', line 57

def write_attribute(attr_name, value)
  write_attribute_with_type_cast(attr_name, value, :type_cast_attribute_for_write)
end