mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Refactor aggregation writer method
Only constantize class_name once.
This commit is contained in:
parent
f260dc53be
commit
d5d9a281aa
2 changed files with 3 additions and 5 deletions
|
@ -242,10 +242,9 @@ module ActiveRecord
|
|||
|
||||
def writer_method(name, class_name, mapping, allow_nil, converter)
|
||||
define_method("#{name}=") do |part|
|
||||
unless part.is_a?(class_name.constantize) || converter.nil? || part.nil?
|
||||
part = converter.respond_to?(:call) ?
|
||||
converter.call(part) :
|
||||
class_name.constantize.send(converter, part)
|
||||
klass = class_name.constantize
|
||||
unless part.is_a?(klass) || converter.nil? || part.nil?
|
||||
part = converter.respond_to?(:call) ? converter.call(part) : klass.send(converter, part)
|
||||
end
|
||||
|
||||
if part.nil? && allow_nil
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
class Customer < ActiveRecord::Base
|
||||
|
||||
cattr_accessor :gps_conversion_was_run
|
||||
|
||||
composed_of :address, :mapping => [ %w(address_street street), %w(address_city city), %w(address_country country) ], :allow_nil => true
|
||||
|
|
Loading…
Reference in a new issue