121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
|
# File 'lib/openc3/models/trigger_model.rb', line 121
def validate_operator(operator:)
unless operator.is_a?(String)
raise TriggerInputError.new "invalid operator: #{operator}"
end
operators = ['>', '<', '>=', '<=']
match_operators = ['==', '!=']
trigger_operators = ['AND', 'OR']
if @roots.empty? && operators.include?(operator)
return operator
elsif @roots.empty? && match_operators.include?(operator)
return operator
elsif @roots.size() == 2 && trigger_operators.include?(operator)
return operator
elsif operators.include?(operator)
raise TriggerInputError.new "invalid operator pair: '#{operator}' must be of type: #{trigger_operators}"
else
raise TriggerInputError.new "invalid operator: '#{operator}' must be of type: #{operators}"
end
end
|