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
Source code GitHub
# 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 []=
.
Source code GitHub
# 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
Source code GitHub
# 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.
Source code GitHub
# 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.
Source code GitHub
# 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.
Source code GitHub
# 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.
Source code GitHub
# 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
.
Source code GitHub
# 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.
Source code GitHub
# 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.
Source code GitHub
# File activesupport/lib/active_support/deprecation/deprecators.rb, line 47
def silenced=(silenced)
set_option(:silenced, silenced)
end