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