class Flor::Pro::Abort

Public Instance Methods

receive_last() click to toggle source
# File lib/flor/punit/abort.rb, line 28
  def receive_last

    fla = heap == 'kabort' ? 'kill' : 'cancel'

    nodes = @execution['nodes']
    nids = nodes.keys.dup

    @execution['nodes'].values.each do |n|

#p n.select { |k, v| %w[ nid can parent cnodes ].include?(k) }
      nid = n['nid']
      pa = nodes[n['parent']]

      nids.delete(nid) if pa && pa['cnodes'].include?(nid)
    end
#p nids

    wrap_cancel_nodes(nids, { 'flavour' => fla })
      .each { |m| m['from'] = '9' }
        # since '9' isn't the parent of any node
  end