module DatastaxRails::AttributeMethods::Write
Methods for writing attributes and maintaining method name safety
Public Instance Methods
write_attribute(attr_name, value)
click to toggle source
Updates the attribute identified by attr_name
with the specified value
. Empty strings for fixnum and float columns are turned into nil
.
# File lib/datastax_rails/attribute_methods/write.rb, line 33 def write_attribute(attr_name, value) attr_name = attr_name.to_s attr_name = self.class.primary_key if attr_name == 'id' && self.class.primary_key @attributes_cache.delete(attr_name) column = column_for_attribute(attr_name) # If we're dealing with a binary column, write the data to the cache # so we don't attempt to typecast multiple times. @attributes_cache[attr_name] = value if column && column.binary? if column || @attributes.key?(attr_name) @attributes[attr_name] = value else fail ActiveModel::MissingAttributeError, "can't write unknown attribute `#{attr_name}'" end end
Also aliased as: raw_write_attribute
Private Instance Methods
attribute=(attribute_name, value)
click to toggle source
Handle *= for method_missing.
# File lib/datastax_rails/attribute_methods/write.rb, line 54 def attribute=(attribute_name, value) write_attribute(attribute_name, value) end