diff options
author | Aaron Patterson <aaron.patterson@gmail.com> | 2012-08-08 16:09:39 -0700 |
---|---|---|
committer | Aaron Patterson <aaron.patterson@gmail.com> | 2012-08-08 16:09:39 -0700 |
commit | 2da242f63c28fbf476b814b18e184154a12d0f87 (patch) | |
tree | 23a7e65563654a573e5dc3f14752c3c2c40cf9fd /activemodel | |
parent | b8903f3606c52b16f248679b086c4f2cf9970692 (diff) | |
parent | 920d9ee4d845c87c016acd660cb4a71e03a7207d (diff) | |
download | rails-2da242f63c28fbf476b814b18e184154a12d0f87.tar.gz rails-2da242f63c28fbf476b814b18e184154a12d0f87.tar.bz2 rails-2da242f63c28fbf476b814b18e184154a12d0f87.zip |
Merge pull request #7293 from Bertg/activemodel_naming_helpers_try_model_name_first
Naming helpers should first check if passed object responds to model_name
Diffstat (limited to 'activemodel')
-rw-r--r-- | activemodel/lib/active_model/naming.rb | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/activemodel/lib/active_model/naming.rb b/activemodel/lib/active_model/naming.rb index 7ba439fb3e..2102282c02 100644 --- a/activemodel/lib/active_model/naming.rb +++ b/activemodel/lib/active_model/naming.rb @@ -300,11 +300,9 @@ module ActiveModel private def self.model_name_from_record_or_class(record_or_class) - (record_or_class.is_a?(Class) ? record_or_class : convert_to_model(record_or_class).class).model_name - end - - def self.convert_to_model(object) - object.respond_to?(:to_model) ? object.to_model : object + return record_or_class.model_name if record_or_class.respond_to?(:model_name) + return record_or_class.to_model.class.model_name if record_or_class.respond_to?(:to_model) + record_or_class.class.model_name end end |