method
writer_method
v2.0.3 -
Show latest stable
- Class:
ActiveRecord::Aggregations::ClassMethods
writer_method(name, class_name, mapping, allow_nil, conversion)private
No documentation available.
# File activerecord/lib/active_record/aggregations.rb, line 164
def writer_method(name, class_name, mapping, allow_nil, conversion)
module_eval do
define_method("#{name}=") do |part|
if part.nil? && allow_nil
mapping.each { |pair| @attributes[pair.first] = nil }
instance_variable_set("@#{name}", nil)
else
part = conversion.call(part) unless part.is_a?(class_name.constantize) || conversion.nil?
mapping.each { |pair| @attributes[pair.first] = part.send(pair.last) }
instance_variable_set("@#{name}", part.freeze)
end
end
end
end