Class WS::Marshaling::SoapActiveRecordStructFactory
In: vendor/actionwebservice/lib/action_web_service/vendor/ws/marshaling/soap_marshaling.rb
Parent: SOAP::Mapping::Factory

Methods

obj2soap   soap2obj  

Public Instance methods

[Source]

     # File vendor/actionwebservice/lib/action_web_service/vendor/ws/marshaling/soap_marshaling.rb, line 218
218:       def obj2soap(soap_class, obj, info, map)
219:         unless obj.is_a?(ActiveRecord::Base)
220:           return nil
221:         end
222:         soap_obj = soap_class.new(obj.class.instance_variable_get('@qname'))
223:         obj.class.columns.each do |column|
224:           key = column.name.to_s
225:           value = obj.send(key)
226:           soap_obj[key] = SOAP::Mapping._obj2soap(value, map)
227:         end
228:         soap_obj
229:       end

[Source]

     # File vendor/actionwebservice/lib/action_web_service/vendor/ws/marshaling/soap_marshaling.rb, line 231
231:       def soap2obj(obj_class, node, info, map)
232:         unless node.type == obj_class.instance_variable_get('@qname')
233:           return false
234:         end
235:         obj = obj_class.new
236:         node.each do |key, value|
237:           obj[key] = value.data
238:         end
239:         obj.instance_variable_set('@new_record', false)
240:         return true, obj
241:       end

[Validate]