123456789_123456789_123456789_123456789_123456789_

Class: ActiveSupport::Deprecation::DeprecatedObjectProxy

Relationships & Source Files
Super Chains via Extension / Inclusion / Inheritance
Class Chain:
Instance Chain:
Inherits: ActiveSupport::Deprecation::DeprecationProxy
Defined in: activesupport/lib/active_support/deprecation/proxy_wrappers.rb

Overview

DeprecatedObjectProxy transforms an object into a deprecated one. It takes an object, a deprecation message, and a deprecator.

deprecated_object = ActiveSupport::Deprecation::DeprecatedObjectProxy.new(Object.new, "This object is now deprecated", ActiveSupport::Deprecation.new)
# => #<Object:0x007fb9b34c34b0>

deprecated_object.to_s
DEPRECATION WARNING: This object is now deprecated.
(Backtrace)
# => "#<Object:0x007fb9b34c34b0>"

Class Method Summary

Instance Method Summary

DeprecationProxy - Inherited

#inspect

Don’t give a deprecation warning on inspect since test/unit and error logs rely on it for diagnostics.

#method_missing

Constructor Details

.new(object, message, deprecator = nil) ⇒ DeprecatedObjectProxy

[ GitHub ]

  
# File 'activesupport/lib/active_support/deprecation/proxy_wrappers.rb', line 39

def initialize(object, message, deprecator = nil)
  @object = object
  @message = message
  ActiveSupport.deprecator.warn("DeprecatedObjectProxy without a deprecator is deprecated") unless deprecator
  @deprecator = deprecator || ActiveSupport::Deprecation._instance
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class ActiveSupport::Deprecation::DeprecationProxy

Instance Method Details

#target (private)

[ GitHub ]

  
# File 'activesupport/lib/active_support/deprecation/proxy_wrappers.rb', line 47

def target
  @object
end

#warn(callstack, called, args) (private)

[ GitHub ]

  
# File 'activesupport/lib/active_support/deprecation/proxy_wrappers.rb', line 51

def warn(callstack, called, args)
  @deprecator.warn(@message, callstack)
end