Cleaned up code as per acantino's reccommendations

Maximilian Clarke 11 ans auparavant
Parent
Commettre
5f815e9d65
1 fichiers modifiés avec 20 ajouts et 22 suppressions
  1. 20 22
      app/models/agents/trigger_agent.rb

+ 20 - 22
app/models/agents/trigger_agent.rb

@@ -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