Module: SOAP::Mapping::TraverseSupport

Included in:
Factory, WSDLEncodedRegistry
Defined in:
lib/soap/mapping/mapping.rb

Overview

TraverseSupport breaks following thread variables.

Thread.current[:SOAPMarshalDataKey]

Instance Method Summary collapse

Instance Method Details

#mark_marshalled_obj(obj, soap_obj) ⇒ Object


26
27
28
29
# File 'lib/soap/mapping/mapping.rb', line 26

def mark_marshalled_obj(obj, soap_obj)
  raise if obj.nil?
  Thread.current[:SOAPMarshalDataKey][obj.__id__] = soap_obj
end

#mark_unmarshalled_obj(node, obj) ⇒ Object


31
32
33
34
35
# File 'lib/soap/mapping/mapping.rb', line 31

def mark_unmarshalled_obj(node, obj)
  return if obj.nil?
  # node.id is not Object#id but SOAPReference#id
  Thread.current[:SOAPMarshalDataKey][node.id] = obj
end