Method: OpenC3::TriggerModel#validate_operator

Defined in:
lib/openc3/models/trigger_model.rb

#validate_operator(operator:) ⇒ Object



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