In Files

  • soap/mapping/factory.rb

Class/Module Index [+]

Quicksearch

SOAP::Mapping::StringFactory_

Public Class Methods

new(allow_original_mapping = false) click to toggle source
 
               # File soap/mapping/factory.rb, line 80
def initialize(allow_original_mapping = false)
  super()
  @allow_original_mapping = allow_original_mapping
end
            

Public Instance Methods

obj2soap(soap_class, obj, info, map) click to toggle source
 
               # File soap/mapping/factory.rb, line 85
def obj2soap(soap_class, obj, info, map)
  if !@allow_original_mapping and !obj.instance_variables.empty?
    return nil
  end
  begin
    unless XSD::Charset.is_ces(obj, Thread.current[:SOAPExternalCES])
      return nil
    end
    encoded = XSD::Charset.encoding_conv(obj,
      Thread.current[:SOAPExternalCES], XSD::Charset.encoding)
    soap_obj = soap_class.new(encoded)
  rescue XSD::ValueSpaceError
    return nil
  end
  mark_marshalled_obj(obj, soap_obj)
  soap_obj
end
            
soap2obj(obj_class, node, info, map) click to toggle source
 
               # File soap/mapping/factory.rb, line 103
def soap2obj(obj_class, node, info, map)
  obj = Mapping.create_empty_object(obj_class)
  decoded = XSD::Charset.encoding_conv(node.data, XSD::Charset.encoding,
    Thread.current[:SOAPExternalCES])
  obj.replace(decoded)
  mark_unmarshalled_obj(node, obj)
  return true, obj
end