class ActiveSupport::Deprecation::Deprecators
A managed collection of deprecators. Configuration methods, such as behavior=
, affect all deprecators in the collection. Additionally, the silence
method silences all deprecators in the collection for the duration of a given block.
Public Class Methods
# File activesupport/lib/active_support/deprecation/deprecators.rb, line 10 def initialize @options = {} @deprecators = {} end
Public Instance Methods
Returns a deprecator added to this collection via []=
.
# File activesupport/lib/active_support/deprecation/deprecators.rb, line 16 def [](name) @deprecators[name] end
Adds a given deprecator
to this collection. The deprecator will be immediately configured with any options previously set on this collection.
deprecators = ActiveSupport::Deprecation::Deprecators.new deprecators.debug = true foo_deprecator = ActiveSupport::Deprecation.new("2.0", "Foo") foo_deprecator.debug # => false deprecators[:foo] = foo_deprecator deprecators[:foo].debug # => true foo_deprecator.debug # => true
# File activesupport/lib/active_support/deprecation/deprecators.rb, line 34 def []=(name, deprecator) apply_options(deprecator) @deprecators[name] = deprecator end
Sets the deprecation warning behavior for all deprecators in this collection.
See ActiveSupport::Deprecation#behavior=
.
# File activesupport/lib/active_support/deprecation/deprecators.rb, line 60 def behavior=(behavior) set_option(:behavior, behavior) end
Sets the debug flag for all deprecators in this collection.
# File activesupport/lib/active_support/deprecation/deprecators.rb, line 52 def debug=(debug) set_option(:debug, debug) end
Sets the disallowed deprecation warning behavior for all deprecators in this collection.
See ActiveSupport::Deprecation#disallowed_behavior=
.
# File activesupport/lib/active_support/deprecation/deprecators.rb, line 68 def disallowed_behavior=(disallowed_behavior) set_option(:disallowed_behavior, disallowed_behavior) end
Sets the disallowed deprecation warnings for all deprecators in this collection.
See ActiveSupport::Deprecation#disallowed_warnings=
.
# File activesupport/lib/active_support/deprecation/deprecators.rb, line 76 def disallowed_warnings=(disallowed_warnings) set_option(:disallowed_warnings, disallowed_warnings) end
Iterates over all deprecators in this collection. If no block is given, returns an Enumerator
.
# File activesupport/lib/active_support/deprecation/deprecators.rb, line 41 def each(&block) return to_enum(__method__) unless block @deprecators.each_value(&block) end
Silences all deprecators in this collection for the duration of the given block.
See ActiveSupport::Deprecation#silence
.
# File activesupport/lib/active_support/deprecation/deprecators.rb, line 84 def silence(&block) each { |deprecator| deprecator.begin_silence } block.call ensure each { |deprecator| deprecator.end_silence } end
Sets the silenced flag for all deprecators in this collection.
# File activesupport/lib/active_support/deprecation/deprecators.rb, line 47 def silenced=(silenced) set_option(:silenced, silenced) end