142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
|
# File 'lib/openc3/models/reaction_model.rb', line 142
def validate_triggers(triggers)
unless triggers.is_a?(Array)
raise ReactionInputError.new "invalid triggers, must be array of hashes: #{triggers}"
end
trigger_hash = Hash.new()
triggers.each do | trigger |
unless trigger.is_a?(Hash)
raise ReactionInputError.new "invalid trigger, must be hash: #{trigger}"
end
if trigger['name'].nil? || trigger['group'].nil?
raise ReactionInputError.new "invalid trigger, must contain 'name' and 'group' keys: #{trigger}"
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
|