aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record
diff options
context:
space:
mode:
authorMatthew Draper <matthew@trebex.net>2017-05-05 18:07:12 +0930
committerMatthew Draper <matthew@trebex.net>2017-05-05 18:22:16 +0930
commitae73637e35db20d0c4e14959d8c1274e5399278e (patch)
tree3a6103304320d0cd9cfc7f2dbf56eb1f97c181ee /activerecord/lib/active_record
parent3d890b66c1bfbdcabb7ef66e0774e0f01e2ed5d6 (diff)
downloadrails-ae73637e35db20d0c4e14959d8c1274e5399278e.tar.gz
rails-ae73637e35db20d0c4e14959d8c1274e5399278e.tar.bz2
rails-ae73637e35db20d0c4e14959d8c1274e5399278e.zip
Clarify deprecation message for #quoted_id
In this case, it's the method definition that's more at fault, rather than the current caller.
Diffstat (limited to 'activerecord/lib/active_record')
-rw-r--r--activerecord/lib/active_record/connection_adapters/abstract/quoting.rb9
1 files changed, 8 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/abstract/quoting.rb b/activerecord/lib/active_record/connection_adapters/abstract/quoting.rb
index f0c0fbab6c..61233dcc51 100644
--- a/activerecord/lib/active_record/connection_adapters/abstract/quoting.rb
+++ b/activerecord/lib/active_record/connection_adapters/abstract/quoting.rb
@@ -10,8 +10,15 @@ module ActiveRecord
value = id_value_for_database(value) if value.is_a?(Base)
if value.respond_to?(:quoted_id)
+ at = value.method(:quoted_id).source_location
+ at &&= " at %s:%d" % at
+
+ owner = value.method(:quoted_id).owner.to_s
+ klass = value.class.to_s
+ klass += "(#{owner})" unless owner == klass
+
ActiveSupport::Deprecation.warn \
- "Using #quoted_id is deprecated and will be removed in Rails 5.2."
+ "Defining #quoted_id is deprecated and will be ignored in Rails 5.2. (defined on #{klass}#{at})"
return value.quoted_id
end