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 notify deprecation.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.

Methods

Attributes

[RW] debug

Whether to print a backtrace along with the warning.

Instance Public methods

behavior()

Returns the current behavior or if one isn't set, defaults to :stderr.

📝 Source code
# File activesupport/lib/active_support/deprecation/behaviors.rb, line 66
      def behavior
        @behavior ||= [DEFAULT_BEHAVIORS[:stderr]]
      end
🔎 See on GitHub

behavior=(behavior)

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.

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
}
📝 Source code
# 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
🔎 See on GitHub

disallowed_behavior()

Returns the current behavior for disallowed deprecations or if one isn't set, defaults to :raise.

📝 Source code
# File activesupport/lib/active_support/deprecation/behaviors.rb, line 71
      def disallowed_behavior
        @disallowed_behavior ||= [DEFAULT_BEHAVIORS[:raise]]
      end
🔎 See on GitHub

disallowed_behavior=(behavior)

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.

📝 Source code
# 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
🔎 See on GitHub