Method: OpenC3::ReactionModel.delete

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

.delete(name:, scope:) ⇒ Object

Check dependents before delete.



67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
# File 'lib/openc3/models/reaction_model.rb', line 67

def self.delete(name:, scope:)
  model = self.get(name: name, scope: scope)
  if model.nil?
    raise ReactionInputError.new "reaction '#{name}' does not exist"
  end
  model.triggers.each do | trigger |
    trigger_model = TriggerModel.get(name: trigger['name'], group: trigger['group'], scope: scope)
    trigger_model.update_dependents(dependent: name, remove: true)
    trigger_model.update()
  end
  Store.hdel("#{scope}#{PRIMARY_KEY}", name)
  # No notification as this is only called via reaction_controller which already notifies

  # undeploy only actually runs if no reactions are left
  model.undeploy()
end