Module: ActiveSupport::Deprecation::Behavior
- Included in:
- ActiveSupport::Deprecation
- Defined in:
- 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
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 collapse
-
#debug ⇒ Object
Whether to print a backtrace along with the warning.
Instance Method Summary collapse
-
#behavior ⇒ Object
Returns the current behavior or if one isn’t set, defaults to
:stderr
. -
#behavior=(behavior) ⇒ Object
Sets the behavior to the specified value.
-
#disallowed_behavior ⇒ Object
Returns the current behavior for disallowed deprecations or if one isn’t set, defaults to
:raise
. -
#disallowed_behavior=(behavior) ⇒ Object
Sets the behavior for disallowed deprecations (those configured by ActiveSupport::Deprecation.disallowed_warnings=) to the specified value.
Instance Attribute Details
#debug ⇒ Object
Whether to print a backtrace along with the warning.
63 64 65 |
# File 'lib/active_support/deprecation/behaviors.rb', line 63 def debug @debug end |
Instance Method Details
#behavior ⇒ Object
Returns the current behavior or if one isn’t set, defaults to :stderr
.
66 67 68 |
# File '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
Rails.logger
. notify
-
Use
ActiveSupport::Notifications
to 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 = ->(, callstack, deprecation_horizon, gem_name) {
# custom stuff
}
96 97 98 |
# File 'lib/active_support/deprecation/behaviors.rb', line 96 def behavior=(behavior) @behavior = Array(behavior).map { |b| DEFAULT_BEHAVIORS[b] || arity_coerce(b) } end |
#disallowed_behavior ⇒ Object
Returns the current behavior for disallowed deprecations or if one isn’t set, defaults to :raise
.
71 72 73 |
# File 'lib/active_support/deprecation/behaviors.rb', line 71 def disallowed_behavior @disallowed_behavior ||= [DEFAULT_BEHAVIORS[:raise]] end |
#disallowed_behavior=(behavior) ⇒ Object
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
.
104 105 106 |
# File '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 |