diff options
author | Robert Pankowecki <robert.pankowecki@gmail.com> | 2011-07-25 21:05:06 +0200 |
---|---|---|
committer | Piotr Niełacny <piotr.nielacny@gmail.com> | 2012-09-13 08:42:00 +0200 |
commit | 2c690a0f5b36896da9b003d4e24159a27ebd7f71 (patch) | |
tree | 8d9aacd7f0f4a22f30b8a3bc7bd779838d23bf67 /activesupport/lib/active_support/deprecation/behaviors.rb | |
parent | c4b857299b3322572b006d825bb9dc9912101e99 (diff) | |
download | rails-2c690a0f5b36896da9b003d4e24159a27ebd7f71.tar.gz rails-2c690a0f5b36896da9b003d4e24159a27ebd7f71.tar.bz2 rails-2c690a0f5b36896da9b003d4e24159a27ebd7f71.zip |
extend ActiveSupport::Deprecation with self, allow other objects to extend/include it also.
test local deprecation
deprecator object
Test ActiveSupport::Deprecation when included
Diffstat (limited to 'activesupport/lib/active_support/deprecation/behaviors.rb')
-rw-r--r-- | activesupport/lib/active_support/deprecation/behaviors.rb | 64 |
1 files changed, 31 insertions, 33 deletions
diff --git a/activesupport/lib/active_support/deprecation/behaviors.rb b/activesupport/lib/active_support/deprecation/behaviors.rb index fc962dcb57..c956560a99 100644 --- a/activesupport/lib/active_support/deprecation/behaviors.rb +++ b/activesupport/lib/active_support/deprecation/behaviors.rb @@ -2,46 +2,44 @@ require "active_support/notifications" module ActiveSupport module Deprecation - class << self - # Whether to print a backtrace along with the warning. - attr_accessor :debug + # Whether to print a backtrace along with the warning. + attr_accessor :debug - # Returns the current behavior or if one isn't set, defaults to +:stderr+ - def behavior - @behavior ||= [DEFAULT_BEHAVIORS[:stderr]] - end + # Returns the current behavior or if one isn't set, defaults to +:stderr+ + 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: - # - # [+stderr+] Log all deprecation warnings to <tt>$stderr</tt>. - # [+log+] Log all deprecation warnings to +Rails.logger+. - # [+notify+] Use <tt>ActiveSupport::Notifications</tt> 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 = proc { |message, callstack| - # # custom stuff - # } - def behavior=(behavior) - @behavior = Array(behavior).map { |b| DEFAULT_BEHAVIORS[b] || b } - end + # Sets the behavior to the specified value. Can be a single value, array, or + # an object that responds to +call+. + # + # Available behaviors: + # + # [+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 = proc { |message, callstack| + # # custom stuff + # } + def behavior=(behavior) + @behavior = Array(behavior).map { |b| DEFAULT_BEHAVIORS[b] || b } end # Default warning behaviors per Rails.env. DEFAULT_BEHAVIORS = { :stderr => Proc.new { |message, callstack| - $stderr.puts(message) - $stderr.puts callstack.join("\n ") if debug - }, + $stderr.puts(message) + $stderr.puts callstack.join("\n ") if debug + }, :log => Proc.new { |message, callstack| logger = if defined?(Rails) && Rails.logger |