Sha256: 26466d75bc08ae901fc139cb5d3bdfa10b2daecd30c659174b1ad782e8d68d4c
Contents?: true
Size: 1.76 KB
Versions: 45
Compression:
Stored size: 1.76 KB
Contents
# frozen_string_literal: true module ActiveSupport class Deprecation module Disallowed # Sets the criteria used to identify deprecation messages which should be # disallowed. Can be an array containing strings, symbols, or regular # expressions. (Symbols are treated as strings.) These are compared against # the text of the generated deprecation warning. # # Additionally the scalar symbol +:all+ may be used to treat all # deprecations as disallowed. # # Deprecations matching a substring or regular expression will be handled # using the configured Behavior#disallowed_behavior rather than # Behavior#behavior. attr_writer :disallowed_warnings # Returns the configured criteria used to identify deprecation messages # which should be treated as disallowed. def disallowed_warnings @disallowed_warnings ||= [] end private def deprecation_disallowed?(message) return false if explicitly_allowed?(message) return true if disallowed_warnings == :all message && disallowed_warnings.any? do |rule| case rule when String, Symbol message.include?(rule.to_s) when Regexp rule.match?(message) end end end def explicitly_allowed?(message) allowances = @explicitly_allowed_warnings.value return false unless allowances return true if allowances == :all message && Array(allowances).any? do |rule| case rule when String, Symbol message.include?(rule.to_s) when Regexp rule.match?(message) end end end end end end
Version data entries
45 entries across 45 versions & 8 rubygems