Module: ActiveSupport::Deprecation::Behavior

Included in:
ActiveSupport::Deprecation
Defined in:
activesupport/lib/active_support/deprecation/behaviors.rb

Overview

Behavior module allows to determine how to display deprecation messages. You can create a custom behavior or set any from the DEFAULT_BEHAVIORS constant. Available behaviors are:

[+raise+] Raise ActiveSupport::DeprecationException. [+stderr+] Log all deprecation warnings to $stderr. [+log+] Log all deprecation warnings to Quails.logger. [+notify+] Use ActiveSupport::Notifications to notify deprecation.quails. [+silence+] Do nothing.

Setting behaviors only affects deprecations that happen after boot time. For more information you can read the documentation of the behavior= method.

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#debugObject

Whether to print a backtrace along with the warning.



63
64
65
# File 'activesupport/lib/active_support/deprecation/behaviors.rb', line 63

def debug
  @debug
end

Instance Method Details

#behaviorObject

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



66
67
68
# File 'activesupport/lib/active_support/deprecation/behaviors.rb', line 66

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

#behavior=(behavior) ⇒ Object

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 Quails.logger. [+notify+] Use ActiveSupport::Notifications to notify deprecation.quails. [+silence+] Do nothing.

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

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


91
92
93
# File 'activesupport/lib/active_support/deprecation/behaviors.rb', line 91

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