module CoreExt::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
CoreExt::DeprecationException
. stderr
-
Log all deprecation warnings to +$stderr+.
log
-
Log all deprecation warnings to
Rails.logger
. 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
Returns the current behavior or if one isn't set, defaults to :stderr
.
# File lib/core_ext/deprecation/behaviors.rb, line 50 def behavior @behavior ||= [DEFAULT_BEHAVIORS[:stderr]] 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
CoreExt::DeprecationException
. stderr
-
Log all deprecation warnings to +$stderr+.
log
-
Log all deprecation warnings to
Rails.logger
. 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.
CoreExt::Deprecation.behavior = :stderr CoreExt::Deprecation.behavior = [:stderr, :log] CoreExt::Deprecation.behavior = MyCustomHandler CoreExt::Deprecation.behavior = ->(message, callstack) { # custom stuff }
# File lib/core_ext/deprecation/behaviors.rb, line 74 def behavior=(behavior) @behavior = Array(behavior).map { |b| DEFAULT_BEHAVIORS[b] || b } end