Sha256: 26d11d78eaea1223b5cef3d2a69762f0d0b11047e5a3cd9d0f87cf4fbb9d86be
Contents?: true
Size: 1.07 KB
Versions: 14
Compression:
Stored size: 1.07 KB
Contents
require 'ddtrace/contrib/configuration/resolver' module Datadog module Contrib module Configuration # Resolves a value to a configuration key module Resolvers # Matches strings against Regexps. class PatternResolver < Datadog::Contrib::Configuration::Resolver def resolve(name) # Try to find a matching pattern matching_pattern = patterns.find do |pattern| # Rubocop incorrectly thinks assignment is done here... # rubocop:disable Style/ConditionalAssignment if pattern.is_a?(Proc) pattern === name else pattern === name.to_s # Co-erce to string end end # Return match or default matching_pattern || :default end def add(pattern) patterns << (pattern.is_a?(Regexp) || pattern.is_a?(Proc) ? pattern : pattern.to_s) end private def patterns @patterns ||= Set.new end end end end end end
Version data entries
14 entries across 14 versions & 2 rubygems