Method: OpenC3::ReactionModel#validate_triggers

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

#validate_triggers(triggers:) ⇒ Object



115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
# File 'lib/openc3/models/reaction_model.rb', line 115

def validate_triggers(triggers:)
  unless triggers.is_a?(Array)
    raise ReactionInputError.new "invalid operator: #{operator}"
  end
  trigger_hash = Hash.new()
  triggers.each do | trigger |
    unless trigger.is_a?(Hash)
      raise ReactionInputError.new "invalid trigger object: #{trigger}"
    end
    if trigger['name'].nil? || trigger['group'].nil?
      raise ReactionInputError.new "allowed: #{triggers}"
    end
    trigger_name = trigger['name']
    unless trigger_hash[trigger_name].nil?
      raise ReactionInputError.new "no duplicate triggers allowed: #{triggers}"
    else
      trigger_hash[trigger_name] = 1
    end
  end
  return triggers
end