|
|
@@ -54,30 +54,28 @@ module Agents
|
54
|
54
|
rule_values = rule['value']
|
55
|
55
|
rule_values = [rule_values] unless rule_values.is_a?(Array)
|
56
|
56
|
|
57
|
|
- match_found = false
|
58
|
|
- rule_values.each do |rule_value|
|
59
|
|
- match_found ||= case rule['type']
|
60
|
|
- when "regex"
|
61
|
|
- value_at_path.to_s =~ Regexp.new(rule_value, Regexp::IGNORECASE)
|
62
|
|
- when "!regex"
|
63
|
|
- value_at_path.to_s !~ Regexp.new(rule_value, Regexp::IGNORECASE)
|
64
|
|
- when "field>value"
|
65
|
|
- value_at_path.to_f > rule_value.to_f
|
66
|
|
- when "field>=value"
|
67
|
|
- value_at_path.to_f >= rule_value.to_f
|
68
|
|
- when "field<value"
|
69
|
|
- value_at_path.to_f < rule_value.to_f
|
70
|
|
- when "field<=value"
|
71
|
|
- value_at_path.to_f <= rule_value.to_f
|
72
|
|
- when "field==value"
|
73
|
|
- value_at_path.to_s == rule_value.to_s
|
74
|
|
- when "field!=value"
|
75
|
|
- value_at_path.to_s != rule_value.to_s
|
76
|
|
- else
|
77
|
|
- raise "Invalid type of #{rule['type']} in TriggerAgent##{id}"
|
|
57
|
+ match_found = rule_values.any? do |rule_value|
|
|
58
|
+ case rule['type']
|
|
59
|
+ when "regex"
|
|
60
|
+ value_at_path.to_s =~ Regexp.new(rule_value, Regexp::IGNORECASE)
|
|
61
|
+ when "!regex"
|
|
62
|
+ value_at_path.to_s !~ Regexp.new(rule_value, Regexp::IGNORECASE)
|
|
63
|
+ when "field>value"
|
|
64
|
+ value_at_path.to_f > rule_value.to_f
|
|
65
|
+ when "field>=value"
|
|
66
|
+ value_at_path.to_f >= rule_value.to_f
|
|
67
|
+ when "field<value"
|
|
68
|
+ value_at_path.to_f < rule_value.to_f
|
|
69
|
+ when "field<=value"
|
|
70
|
+ value_at_path.to_f <= rule_value.to_f
|
|
71
|
+ when "field==value"
|
|
72
|
+ value_at_path.to_s == rule_value.to_s
|
|
73
|
+ when "field!=value"
|
|
74
|
+ value_at_path.to_s != rule_value.to_s
|
|
75
|
+ else
|
|
76
|
+ raise "Invalid type of #{rule['type']} in TriggerAgent##{id}"
|
78
|
77
|
end
|
79
|
78
|
end
|
80
|
|
- match_found
|
81
|
79
|
end
|
82
|
80
|
|
83
|
81
|
if match
|