diff options
author | Aaron Patterson <aaron.patterson@gmail.com> | 2012-05-21 09:46:24 -0700 |
---|---|---|
committer | Aaron Patterson <aaron.patterson@gmail.com> | 2012-05-21 09:46:24 -0700 |
commit | 525839fdd8cc34d6d524f204528d5b6f36fe410c (patch) | |
tree | e15467aac15f54951e2b263379952d74f875fc47 /activerecord/test/models/customer.rb | |
parent | 9c3cd9cb8e2417ea0027f1c19cedfad32c62a0d2 (diff) | |
parent | fa5f037551dfb860bf6359acf901915856646fea (diff) | |
download | rails-525839fdd8cc34d6d524f204528d5b6f36fe410c.tar.gz rails-525839fdd8cc34d6d524f204528d5b6f36fe410c.tar.bz2 rails-525839fdd8cc34d6d524f204528d5b6f36fe410c.zip |
Merge pull request #6143 from senny/composed_of_converter_returns_nil
allow the :converter Proc form composed_of to return nil
Diffstat (limited to 'activerecord/test/models/customer.rb')
-rw-r--r-- | activerecord/test/models/customer.rb | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/activerecord/test/models/customer.rb b/activerecord/test/models/customer.rb index 777f6b5ba0..807f25b687 100644 --- a/activerecord/test/models/customer.rb +++ b/activerecord/test/models/customer.rb @@ -1,7 +1,12 @@ 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 composed_of :balance, :class_name => "Money", :mapping => %w(balance amount), :converter => Proc.new { |balance| balance.to_money } composed_of :gps_location, :allow_nil => true + composed_of :non_blank_gps_location, :class_name => "GpsLocation", :allow_nil => true, :mapping => %w(gps_location gps_location), + :converter => lambda { |gps| self.gps_conversion_was_run = true; gps.blank? ? nil : GpsLocation.new(gps)} composed_of :fullname, :mapping => %w(name to_s), :constructor => Proc.new { |name| Fullname.parse(name) }, :converter => :parse end |