Method: OpenC3::TriggerModel#verify_triggers

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

#verify_triggersObject



182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
# File 'lib/openc3/models/trigger_model.rb', line 182

def verify_triggers
  unless @group.is_a?(String)
    raise TriggerInputError.new "invalid group: #{@group}"
  end
  selected_group = OpenC3::TriggerGroupModel.get(name: @group, scope: @scope)
  if selected_group.nil?
    raise TriggerGroupInputError.new "failed to find group: #{@group}"
  end
  @dependents = [] if @dependents.nil?
  @roots.each do | trigger |
    model = TriggerModel.get(name: trigger, group: @group, scope: @scope)
    if model.nil?
      raise TriggerInputError.new "failed to find dependent trigger: #{trigger}"
    end
    if model.group != @group
      raise TriggerInputError.new "failed group dependent trigger: #{trigger}"
    end
    unless model.dependents.include?(@name)
      model.update_dependents(dependent: @name)
      model.update()
    end
  end
end