123456789_123456789_123456789_123456789_123456789_

Module: ActiveSupport::Deprecation::Reporting

Relationships & Source Files
Extension / Inclusion / Inheritance Descendants
Included In:
Defined in: activesupport/lib/active_support/deprecation/reporting.rb

Constant Summary

Instance Attribute Summary

  • #gem_name rw

    Name of gem where method is deprecated.

  • #silenced rw

    Whether to print a message (silent mode).

Instance Method Summary

Instance Attribute Details

#gem_name (rw)

Name of gem where method is deprecated

[ GitHub ]

  
# File 'activesupport/lib/active_support/deprecation/reporting.rb', line 11

attr_accessor :gem_name

#silenced (rw)

Whether to print a message (silent mode)

[ GitHub ]

  
# File 'activesupport/lib/active_support/deprecation/reporting.rb', line 9

attr_accessor :silenced

Instance Method Details

#deprecation_warning(deprecated_method_name, message = nil, caller_backtrace = nil)

[ GitHub ]

  
# File 'activesupport/lib/active_support/deprecation/reporting.rb', line 43

def deprecation_warning(deprecated_method_name, message = nil, caller_backtrace = nil)
  caller_backtrace ||= caller_locations(2)
  deprecated_method_warning(deprecated_method_name, message).tap do |msg|
    warn(msg, caller_backtrace)
  end
end

#silence

Silence deprecation warnings within the block.

ActiveSupport::Deprecation.warn('something broke!')
# => "DEPRECATION WARNING: something broke! (called from your_code.rb:1)"

ActiveSupport::Deprecation.silence do
  ActiveSupport::Deprecation.warn('something broke!')
end
# => nil
[ GitHub ]

  
# File 'activesupport/lib/active_support/deprecation/reporting.rb', line 36

def silence
  old_silenced, @silenced = @silenced, true
  yield
ensure
  @silenced = old_silenced
end

#warn(message = nil, callstack = nil)

Outputs a deprecation warning to the output configured by ActiveSupport::Deprecation.behavior.

ActiveSupport::Deprecation.warn('something broke!')
# => "DEPRECATION WARNING: something broke! (called from your_code.rb:1)"
[ GitHub ]

  
# File 'activesupport/lib/active_support/deprecation/reporting.rb', line 18

def warn(message = nil, callstack = nil)
  return if silenced

  callstack ||= caller_locations(2)
  deprecation_message(callstack, message).tap do |m|
    behavior.each { |b| b.call(m, callstack, deprecation_horizon, gem_name) }
  end
end