Method: ActiveSupport::Deprecation::Behavior#behavior=
- Defined in:
- activesupport/lib/active_support/deprecation/behaviors.rb
#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 notify
deprecation.rails. :report-
Use ActiveSupport::ErrorReporter to report deprecations.
: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.
deprecator = ActiveSupport::Deprecation.new
deprecator.behavior = :stderr
deprecator.behavior = [:stderr, :log]
deprecator.behavior = MyCustomHandler
deprecator.behavior = ->(, callstack, deprecation_horizon, gem_name) {
# custom stuff
}
If you are using Rails, you can set config.active_support.report_deprecations = false to disable all deprecation behaviors. This is similar to the :silence option but more performant.
111 112 113 |
# File 'activesupport/lib/active_support/deprecation/behaviors.rb', line 111 def behavior=(behavior) @behavior = Array(behavior).map { |b| DEFAULT_BEHAVIORS[b] || arity_coerce(b) } end |