Module: ActiveSupport::Deprecation::Behavior
Relationships & Source Files | |
Extension / Inclusion / Inheritance Descendants | |
Included In:
| |
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
stderr
-
Log all deprecation warnings to $stderr.
log
-
Log all deprecation warnings to Rails.logger.
notify
-
Use
::ActiveSupport::Notifications
to 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.
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
.
# File 'activesupport/lib/active_support/deprecation/behaviors.rb', line 66
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
stderr
-
Log all deprecation warnings to $stderr.
log
-
Log all deprecation warnings to Rails.logger.
notify
-
Use
::ActiveSupport::Notifications
to notifydeprecation.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 = ->(, callstack, deprecation_horizon, gem_name) {
# custom stuff
}
# 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
#debug (rw)
Whether to print a backtrace along with the warning.
# File 'activesupport/lib/active_support/deprecation/behaviors.rb', line 63
attr_accessor :debug