aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/models/customer.rb
diff options
context:
space:
mode:
authorSteve Klabnik <steve@steveklabnik.com>2012-06-15 11:19:40 +0200
committerSteve Klabnik <steve@steveklabnik.com>2012-06-18 14:53:03 -0400
commit14fc8b34521f8354a17e50cd11fa3f809e423592 (patch)
tree1e8f618d53ae20f55720e5a29d64dfb5c21f811b /activerecord/test/models/customer.rb
parent568394659c3e56581c684df77c0cc0e6e264a99f (diff)
downloadrails-14fc8b34521f8354a17e50cd11fa3f809e423592.tar.gz
rails-14fc8b34521f8354a17e50cd11fa3f809e423592.tar.bz2
rails-14fc8b34521f8354a17e50cd11fa3f809e423592.zip
Removing composed_of from ActiveRecord.
This feature adds a lot of complication to ActiveRecord for dubious value. Let's talk about what it does currently: class Customer < ActiveRecord::Base composed_of :balance, :class_name => "Money", :mapping => %w(balance amount) end Instead, you can do something like this: def balance @balance ||= Money.new(value, currency) end def balance=(balance) self[:value] = balance.value self[:currency] = balance.currency @balance = balance end Since that's fairly easy code to write, and doesn't need anything extra from the framework, if you use composed_of today, you'll have to add accessors/mutators like that. Closes #1436 Closes #2084 Closes #3807
Diffstat (limited to 'activerecord/test/models/customer.rb')
-rw-r--r--activerecord/test/models/customer.rb7
1 files changed, 0 insertions, 7 deletions
diff --git a/activerecord/test/models/customer.rb b/activerecord/test/models/customer.rb
index 7e8e82542f..594c484f20 100644
--- a/activerecord/test/models/customer.rb
+++ b/activerecord/test/models/customer.rb
@@ -1,12 +1,5 @@
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
class Address