module ActiveSupport::Deprecation::Behavior
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
Rails.logger. -
notify -
Use
ActiveSupport::Notificationsto notifydeprecation.rails. -
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.
Attributes
Whether to print a backtrace along with the warning.
Public Instance Methods
# File activesupport/lib/active_support/deprecation/behaviors.rb, line 66 def behavior @behavior ||= [DEFAULT_BEHAVIORS[:stderr]] end
Returns the current behavior or if one isn't set, defaults to :stderr.
# File activesupport/lib/active_support/deprecation/behaviors.rb, line 96
def behavior=(behavior)
@behavior = Array(behavior).map { |b| DEFAULT_BEHAVIORS[b] || arity_coerce(b) }
end 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::Notificationsto notifydeprecation.rails. -
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 Rails boots up.
ActiveSupport::Deprecation.behavior = :stderr
ActiveSupport::Deprecation.behavior = [:stderr, :log]
ActiveSupport::Deprecation.behavior = MyCustomHandler
ActiveSupport::Deprecation.behavior = ->(message, callstack, deprecation_horizon, gem_name) {
# custom stuff
}
# File activesupport/lib/active_support/deprecation/behaviors.rb, line 71 def disallowed_behavior @disallowed_behavior ||= [DEFAULT_BEHAVIORS[:raise]] end
Returns the current behavior for disallowed deprecations or if one isn't set, defaults to :raise.
# File activesupport/lib/active_support/deprecation/behaviors.rb, line 104
def disallowed_behavior=(behavior)
@disallowed_behavior = Array(behavior).map { |b| DEFAULT_BEHAVIORS[b] || arity_coerce(b) }
end Sets the behavior for disallowed deprecations (those configured by ActiveSupport::Deprecation.disallowed_warnings=) to the specified value. As with behavior=, this can be a single value, array, or an object that responds to call.
© 2004–2020 David Heinemeier Hansson
Licensed under the MIT License.