Method: OpenC3::TriggerModel.delete
- Defined in:
- lib/openc3/models/trigger_model.rb
.delete(name:, group:, scope:) ⇒ Object
Check dependents before delete.
87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 |
# File 'lib/openc3/models/trigger_model.rb', line 87 def self.delete(name:, group:, scope:) model = self.get(name: name, group: group, scope: scope) if model.nil? raise TriggerInputError.new "trigger #{group}:#{name} does not exist" end unless model.dependents.empty? raise TriggerError.new "#{group}:#{name} has dependents: #{model.dependents}" end model.roots.each do | trigger | trigger_model = self.get(name: trigger, group: group, scope: scope) trigger_model.update_dependents(dependent: name, remove: true) trigger_model.update() end Store.hdel("#{scope}#{PRIMARY_KEY}#{group}", name) # No notification as this is only called via trigger_controller which already notifies end |