Class ActionWebService::Protocol::Soap::SoapActiveRecordStructFactory
In: actionwebservice/lib/action_web_service/protocol/soap_protocol/marshaler.rb
Parent: SOAP::Mapping::Factory

Methods

obj2soap   soap2obj  

Public Instance methods

[Source]

# File actionwebservice/lib/action_web_service/protocol/soap_protocol/marshaler.rb, line 172
        def obj2soap(soap_class, obj, info, map)
          unless obj.is_a?(ActiveRecord::Base)
            return nil
          end
          soap_obj = soap_class.new(obj.class.instance_variable_get('@qname'))
          obj.class.columns.each do |column|
            key = column.name.to_s
            value = obj.send(key)
            soap_obj[key] = SOAP::Mapping._obj2soap(value, map)
          end
          soap_obj
        end

[Source]

# File actionwebservice/lib/action_web_service/protocol/soap_protocol/marshaler.rb, line 185
        def soap2obj(obj_class, node, info, map)
          unless node.type == obj_class.instance_variable_get('@qname')
            return false
          end
          obj = obj_class.new
          node.each do |key, value|
            obj[key] = value.data
          end
          obj.instance_variable_set('@new_record', false)
          return true, obj
        end

[Validate]