class NewRelic::Agent::AttributeFilterRule
Attributes
attribute_name[R]
destinations[R]
is_include[R]
wildcard[R]
Public Class Methods
new(attribute_name, destinations, is_include)
click to toggle source
# File lib/new_relic/agent/attribute_filter.rb, line 275 def initialize(attribute_name, destinations, is_include) @attribute_name = attribute_name.sub(/\*$/, '') @wildcard = attribute_name.end_with?(ASTERISK) @is_include = is_include @destinations = is_include ? destinations : ~destinations end
Public Instance Methods
<=>(other)
click to toggle source
Rules are sorted from least specific to most specific
All else being the same, wildcards are considered less specific All else being the same, include rules are less specific than excludes
# File lib/new_relic/agent/attribute_filter.rb, line 286 def <=>(other) name_cmp = @attribute_name <=> other.attribute_name return name_cmp unless name_cmp == 0 if wildcard != other.wildcard return wildcard ? -1 : 1 end if is_include != other.is_include return is_include ? -1 : 1 end return 0 end
empty?()
click to toggle source
# File lib/new_relic/agent/attribute_filter.rb, line 309 def empty? if is_include @destinations == AttributeFilter::DST_NONE else @destinations == AttributeFilter::DST_ALL end end
match?(name)
click to toggle source
# File lib/new_relic/agent/attribute_filter.rb, line 301 def match?(name) if wildcard name.start_with?(@attribute_name) else @attribute_name == name end end