Method: OpenC3::TriggerModel.delete
- Defined in:
- lib/openc3/models/trigger_model.rb
.delete(name:, group:, scope:) ⇒ Object
Check dependents before delete.
79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 |
# File 'lib/openc3/models/trigger_model.rb', line 79 def self.delete(name:, group:, scope:) model = self.get(name: name, group: group, scope: scope) if model.nil? raise TriggerInputError.new "invalid operation group: #{group} trigger: #{name} not found" end unless model.dependents.empty? raise TriggerError.new "failed to delete #{name} 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) model.notify(kind: 'deleted') end |