Module: ActiveSupport::Deprecation::Behavior

Included in:
ActiveSupport::Deprecation
Defined in:
lib/active_support/deprecation/behaviors.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#debugObject

Whether to print a backtrace along with the warning.



43
44
45
# File 'lib/active_support/deprecation/behaviors.rb', line 43

def debug
  @debug
end

Instance Method Details

#behaviorObject

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



46
47
48
# File 'lib/active_support/deprecation/behaviors.rb', line 46

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 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) {
  # custom stuff
}


71
72
73
# File 'lib/active_support/deprecation/behaviors.rb', line 71

def behavior=(behavior)
  @behavior = Array(behavior).map { |b| DEFAULT_BEHAVIORS[b] || b }
end