diff options
author | Matthew Draper <matthew@trebex.net> | 2016-10-03 05:22:28 +1030 |
---|---|---|
committer | Matthew Draper <matthew@trebex.net> | 2016-10-03 05:22:28 +1030 |
commit | 62ed56135be5fd9567fab6647fc588b234a96e04 (patch) | |
tree | 692d058be984015bc5ce0ed92b1984946db763e4 /activesupport | |
parent | 7b63f56ce0c708f05db31de04b8cd2dc6e4ef96b (diff) | |
download | rails-62ed56135be5fd9567fab6647fc588b234a96e04.tar.gz rails-62ed56135be5fd9567fab6647fc588b234a96e04.tar.bz2 rails-62ed56135be5fd9567fab6647fc588b234a96e04.zip |
Correct caller tracking in delegated deprecation methods
Diffstat (limited to 'activesupport')
-rw-r--r-- | activesupport/lib/active_support/deprecation/instance_delegator.rb | 13 |
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 |