aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/lib/active_support/deprecation
diff options
context:
space:
mode:
authorMatthew Draper <matthew@trebex.net>2016-10-03 05:22:28 +1030
committerMatthew Draper <matthew@trebex.net>2016-10-03 05:22:28 +1030
commit62ed56135be5fd9567fab6647fc588b234a96e04 (patch)
tree692d058be984015bc5ce0ed92b1984946db763e4 /activesupport/lib/active_support/deprecation
parent7b63f56ce0c708f05db31de04b8cd2dc6e4ef96b (diff)
downloadrails-62ed56135be5fd9567fab6647fc588b234a96e04.tar.gz
rails-62ed56135be5fd9567fab6647fc588b234a96e04.tar.bz2
rails-62ed56135be5fd9567fab6647fc588b234a96e04.zip
Correct caller tracking in delegated deprecation methods
Diffstat (limited to 'activesupport/lib/active_support/deprecation')
-rw-r--r--activesupport/lib/active_support/deprecation/instance_delegator.rb13
1 files changed, 13 insertions, 0 deletions
diff --git a/activesupport/lib/active_support/deprecation/instance_delegator.rb b/activesupport/lib/active_support/deprecation/instance_delegator.rb
index 8efa6aabdc..6d390f3b37 100644
--- a/activesupport/lib/active_support/deprecation/instance_delegator.rb
+++ b/activesupport/lib/active_support/deprecation/instance_delegator.rb
@@ -6,6 +6,7 @@ module ActiveSupport
module InstanceDelegator # :nodoc:
def self.included(base)
base.extend(ClassMethods)
+ base.singleton_class.prepend(OverrideDelegators)
base.public_class_method :new
end
@@ -19,6 +20,18 @@ module ActiveSupport
singleton_class.delegate(method_name, to: :instance)
end
end
+
+ module OverrideDelegators # :nodoc:
+ def warn(message = nil, callstack = nil)
+ callstack ||= caller_locations(2)
+ super
+ end
+
+ def deprecation_warning(deprecated_method_name, message = nil, caller_backtrace = nil)
+ caller_backtrace ||= caller_locations(2)
+ super
+ end
+ end
end
end
end