123456789_123456789_123456789_123456789_123456789_

Module: ActiveSupport::Deprecation::Behavior

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

Instance Attribute Summary

  • #behavior rw

    Returns the current behavior or if one isn't set, defaults to :stderr.

  • #behavior=(behavior) rw

    Sets the behavior to the specified value.

  • #debug rw

    Whether to print a backtrace along with the warning.

Instance Attribute Details

#behavior (rw)

Returns the current behavior or if one isn't set, defaults to :stderr.

[ GitHub ]

  
# File 'activesupport/lib/active_support/deprecation/behaviors.rb', line 46

def behavior
  @behavior ||= [DEFAULT_BEHAVIORS[:stderr]]
end

#behavior=(behavior) (rw)

Sets the behavior to the specified value. Can be a single value, array, or an object that responds to call.

Available behaviors:

raise

Raise ::ActiveSupport::DeprecationException.

stderr

Log all deprecation warnings to $stderr.

log

Log all deprecation warnings to Rails.logger.

notify

Use ::ActiveSupport::Notifications to notify deprecation.rails.

silence

Do nothing.

Setting behaviors only affects deprecations that happen after boot time. ::ActiveSupport::Deprecation warnings raised by gems are not affected by this setting because they happen before ::Rails boots up.

ActiveSupport::Deprecation.behavior = :stderr
ActiveSupport::Deprecation.behavior = [:stderr, :log]
ActiveSupport::Deprecation.behavior = MyCustomHandler
ActiveSupport::Deprecation.behavior = ->(message, callstack) {
  # custom stuff
}
[ GitHub ]

  
# File 'activesupport/lib/active_support/deprecation/behaviors.rb', line 71

def behavior=(behavior)
  @behavior = Array(behavior).map { |b| DEFAULT_BEHAVIORS[b] || b }
end

#debug (rw)

Whether to print a backtrace along with the warning.

[ GitHub ]

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

attr_accessor :debug