| Class | WS::Marshaling::SoapActiveRecordStructFactory |
| In: |
vendor/actionwebservice/lib/action_web_service/vendor/ws/marshaling/soap_marshaling.rb
|
| Parent: | SOAP::Mapping::Factory |
# 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
# 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