class Flor::Pro::Return

Public Instance Methods

receive_last() click to toggle source
# File lib/flor/pcore/return.rb, line 7
def receive_last

  si = Flor.sub_nid(nid)
  n = @node

  target =
    loop do
      pn = parent_node(n)
      break nil unless pn
      psi = Flor.sub_nid(pn['nid'])
      break n['nid'] if psi != si
      n = pn
    end

  fail Flor::FlorError.new('"return" outside of function', self) \
    unless target

  wrap_cancel('nid' => target, 'flavour' => 'return')
end