diff options
author | Jon Leighton <j@jonathanleighton.com> | 2011-07-18 16:35:21 +0100 |
---|---|---|
committer | Jon Leighton <j@jonathanleighton.com> | 2011-08-15 12:38:44 +0100 |
commit | 7b56fb034a2f9a03ccbdc485287946b49e5e9b68 (patch) | |
tree | fa6442a7e92fd2d08258fb54f03714b9ccd16a44 | |
parent | 8bba95f293714283f6fc30cb213af54811cccff3 (diff) | |
download | rails-7b56fb034a2f9a03ccbdc485287946b49e5e9b68.tar.gz rails-7b56fb034a2f9a03ccbdc485287946b49e5e9b68.tar.bz2 rails-7b56fb034a2f9a03ccbdc485287946b49e5e9b68.zip |
Fix private methods which are delegated to. This previously worked because Module#delegate previously ignored method visibility.
-rw-r--r-- | activerecord/lib/active_record/associations/association.rb | 16 | ||||
-rw-r--r-- | activerecord/lib/active_record/associations/belongs_to_polymorphic_association.rb | 10 |
2 files changed, 13 insertions, 13 deletions
diff --git a/activerecord/lib/active_record/associations/association.rb b/activerecord/lib/active_record/associations/association.rb index bb519c5703..d1e3ff8e38 100644 --- a/activerecord/lib/active_record/associations/association.rb +++ b/activerecord/lib/active_record/associations/association.rb @@ -151,20 +151,20 @@ module ActiveRecord reset end + def interpolate(sql, record = nil) + if sql.respond_to?(:to_proc) + owner.send(:instance_exec, record, &sql) + else + sql + end + end + private def find_target? !loaded? && (!owner.new_record? || foreign_key_present?) && klass end - def interpolate(sql, record = nil) - if sql.respond_to?(:to_proc) - owner.send(:instance_exec, record, &sql) - else - sql - end - end - def creation_attributes attributes = {} diff --git a/activerecord/lib/active_record/associations/belongs_to_polymorphic_association.rb b/activerecord/lib/active_record/associations/belongs_to_polymorphic_association.rb index 198ad06360..2ee5dbbd70 100644 --- a/activerecord/lib/active_record/associations/belongs_to_polymorphic_association.rb +++ b/activerecord/lib/active_record/associations/belongs_to_polymorphic_association.rb @@ -2,6 +2,11 @@ module ActiveRecord # = Active Record Belongs To Polymorphic Association module Associations class BelongsToPolymorphicAssociation < BelongsToAssociation #:nodoc: + def klass + type = owner[reflection.foreign_type] + type.presence && type.constantize + end + private def replace_keys(record) @@ -17,11 +22,6 @@ module ActiveRecord reflection.polymorphic_inverse_of(record.class) end - def klass - type = owner[reflection.foreign_type] - type.presence && type.constantize - end - def raise_on_type_mismatch(record) # A polymorphic association cannot have a type mismatch, by definition end |