class Flor::Pro::Break

Public Instance Methods

pre_execute() click to toggle source
# File lib/flor/pcore/break.rb, line 55
def pre_execute

  @node['atts'] = []
end
receive_last() click to toggle source
# File lib/flor/pcore/break.rb, line 60
def receive_last

  ref = att('ref')
  nid = tags_to_nids(ref).first || target_nid
    # nid derived from tag or target nid given by parent "cursor"

  payload['ret'] = att(nil) if has_att?(nil)

  ms = []

  if nid

    ms += wrap_cancel('nid' => nid, 'flavour' => heap)
  end

  unless is_ancestor_node?(nid)

    pl = ms.any? ? payload.copy_current : payload.current
    pl['ret'] = node_payload_ret

    ms += wrap_reply('payload' => pl)
  end

  ms
end

Protected Instance Methods

target_nid() click to toggle source
# File lib/flor/pcore/break.rb, line 88
def target_nid

  # this nid is given by the parent "cursor" via a "break" or "continue"
  # variable

  @node['heat'][1]['nid']
end