# File lib/ruote/receiver/base.rb, line 218 def stash_put(workitem_or_fei, key, value=nil) hash = key.is_a?(Hash) ? key : { key => value } exp = fetch_flow_expression(workitem_or_fei) (exp.h['stash'] ||= {}).merge!(hash) r = exp.try_persist return hash if r == nil return stash_put(workitem_or_fei, key, value) if r != true fei = Ruote::FlowExpressionId.extract(workitem_or_fei).sid rescue 'xxx' raise ArgumentError.new("failed to put, expression #{fei} is gone") end