Class: DeleteNode
- Inherits:
-
Object
- Object
- DeleteNode
- Defined in:
- app/services/delete_node.rb
Defined Under Namespace
Classes: NodeWithRunningSlotsError
Instance Attribute Summary collapse
-
#node ⇒ Object
readonly
Returns the value of attribute node.
Instance Method Summary collapse
-
#initialize(node:) ⇒ DeleteNode
constructor
A new instance of DeleteNode.
- #perform ⇒ Object
Constructor Details
#initialize(node:) ⇒ DeleteNode
Returns a new instance of DeleteNode.
8 9 10 |
# File 'app/services/delete_node.rb', line 8 def initialize(node:) @node = node end |
Instance Attribute Details
#node ⇒ Object (readonly)
Returns the value of attribute node.
6 7 8 |
# File 'app/services/delete_node.rb', line 6 def node @node end |
Instance Method Details
#perform ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'app/services/delete_node.rb', line 12 def perform if node.accept_new_tasks was_accepting_new_tasks = true NodeTaskAcceptance.new(node: node).reject! end if node.slots.working.any? NodeTaskAcceptance.new(node: node).accept! if was_accepting_new_tasks raise NodeWithRunningSlotsError else node.destroy! end end |