Method: Flor::Pro::Set#receive_last

Defined in:
lib/flor/pcore/set.rb

#receive_lastObject



114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
# File 'lib/flor/pcore/set.rb', line 114

def receive_last

  ret =
    if @node['single_child']
      node_payload_ret
    else
      payload['ret']
    end

  refs = @node['refs']

  case refs.size
  when 0 then 0
  when 1 then set_value(refs.first, ret)
  else splat_value(refs, ret)
  end

  payload['ret'] =
    if tree[0] == 'setr' || refs_include_f_ret?
      ret
    else
      node_payload_ret
    end

  wrap
end