Class: SOAP::Mapping::DateTimeFactory_

Inherits:
Factory show all
Defined in:
lib/action_web_service/soap/mapping/factory.rb

Instance Method Summary collapse

Methods inherited from Factory

#setiv2obj, #setiv2soap

Methods included from TraverseSupport

#mark_marshalled_obj, #mark_unmarshalled_obj

Constructor Details

#initialize(allow_original_mapping = false) ⇒ DateTimeFactory_

Returns a new instance of DateTimeFactory_.



144
145
146
147
# File 'lib/action_web_service/soap/mapping/factory.rb', line 144

def initialize(allow_original_mapping = false)
  super()
  @allow_original_mapping = allow_original_mapping
end

Instance Method Details

#obj2soap(soap_class, obj, info, map) ⇒ Object



149
150
151
152
153
154
155
156
157
158
159
160
161
162
# File 'lib/action_web_service/soap/mapping/factory.rb', line 149

def obj2soap(soap_class, obj, info, map)
  if !@allow_original_mapping and
	Time === obj and !obj.instance_variables.empty?
    return nil
  end
  soap_obj = nil
  begin
    soap_obj = soap_class.new(obj)
  rescue XSD::ValueSpaceError
    return nil
  end
  mark_marshalled_obj(obj, soap_obj)
  soap_obj
end

#soap2obj(obj_class, node, info, map) ⇒ Object



164
165
166
167
168
169
170
171
172
173
# File 'lib/action_web_service/soap/mapping/factory.rb', line 164

def soap2obj(obj_class, node, info, map)
  if node.respond_to?(:to_obj)
    obj = node.to_obj(obj_class)
    return false if obj.nil?
    mark_unmarshalled_obj(node, obj)
    return true, obj
  else
    return false
  end
end