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, class_methods, extended, included

Instance Method Details

#raw_write_attribute(attr_name, value) ⇒ Object


59
60
61
# File 'activerecord/lib/active_record/attribute_methods/write.rb', line 59

def raw_write_attribute(attr_name, value)
  write_attribute_with_type_cast(attr_name, value, false)
end

#write_attribute(attr_name, value) ⇒ Object

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


55
56
57
# File 'activerecord/lib/active_record/attribute_methods/write.rb', line 55

def write_attribute(attr_name, value)
  write_attribute_with_type_cast(attr_name, value, true)
end