class OneApm::Support::RenameRulesEngine::Rule

Constants

OA_RENAME_SEPARATOR

Attributes

ignore[RW]
match_expressions[RW]
priority[RW]
rename_rules[RW]
replacement[RW]
state[RW]

Public Class Methods

new(hash) click to toggle source
# File lib/one_apm/support/rename_rules_engine/external_rename_rule.rb, line 56
def initialize(hash)
  @replacement = hash['replacement']
  @state = hash['state'].to_i
  @ignore = hash['ignore']
  @priority = hash['priority'].to_i
  @match_expressions = hash['match_expression'].map { |match_expression| MatchExpression::Engine.create_match_expression(match_expression) }
  @rename_rules = hash['rename'].map { |rename| Rename::Engine.create_rename_rules(rename) }
end

Public Instance Methods

apply(request) click to toggle source
# File lib/one_apm/support/rename_rules_engine/external_rename_rule.rb, line 75
def apply(request)
  rename_rules.map do |rename_rule|
    rename_rule.segment(request)
  end.join(OA_RENAME_SEPARATOR)
end
enable?() click to toggle source
# File lib/one_apm/support/rename_rules_engine/external_rename_rule.rb, line 71
def enable?
  !ignore && state == 0
end
should_rename?(request) click to toggle source
# File lib/one_apm/support/rename_rules_engine/external_rename_rule.rb, line 65
def should_rename?(request)
  match_expressions.map do |match_expression|
    match_expression.match?(request)
  end.all?
end