aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/models/customer.rb
diff options
context:
space:
mode:
authorAaron Patterson <aaron.patterson@gmail.com>2012-05-21 09:46:24 -0700
committerAaron Patterson <aaron.patterson@gmail.com>2012-05-21 09:46:24 -0700
commit525839fdd8cc34d6d524f204528d5b6f36fe410c (patch)
treee15467aac15f54951e2b263379952d74f875fc47 /activerecord/test/models/customer.rb
parent9c3cd9cb8e2417ea0027f1c19cedfad32c62a0d2 (diff)
parentfa5f037551dfb860bf6359acf901915856646fea (diff)
downloadrails-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.rb5
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