Changeset 1688
- Timestamp:
- 07/22/06 22:30:20 (2 years ago)
- Files:
-
- trunk/lib/soap/mapping/mapping.rb (modified) (1 diff)
- trunk/lib/soap/mapping/wsdlencodedregistry.rb (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/lib/soap/mapping/mapping.rb
r1683 r1688 289 289 290 290 def self.get_attribute(obj, attr_name) 291 if obj.is_a?(::Hash) 291 case obj 292 when ::SOAP::Mapping::Object 293 return obj[attr_name] 294 when ::Hash 292 295 return obj[attr_name] || obj[attr_name.intern] 293 end 294 iv = obj.instance_variables 295 name = XSD::CodeGen::GenSupport.safevarname(attr_name) 296 if iv.include?("@#{name}") 297 return obj.instance_variable_get("@#{name}") 298 elsif iv.include?("@#{attr_name}") 299 return obj.instance_variable_get("@#{attr_name}") 300 end 301 if obj.is_a?(::Struct) or obj.is_a?(Marshallable) 302 if obj.respond_to?(name) 303 return obj.__send__(name) 304 elsif obj.respond_to?(attr_name) 305 return obj.__send__(attr_name) 306 end 307 end 308 nil 296 else 297 iv = obj.instance_variables 298 name = XSD::CodeGen::GenSupport.safevarname(attr_name) 299 if iv.include?("@#{name}") 300 return obj.instance_variable_get("@#{name}") 301 elsif iv.include?("@#{attr_name}") 302 return obj.instance_variable_get("@#{attr_name}") 303 end 304 if obj.is_a?(::Struct) or obj.is_a?(Marshallable) 305 if obj.respond_to?(name) 306 return obj.__send__(name) 307 elsif obj.respond_to?(attr_name) 308 return obj.__send__(attr_name) 309 end 310 end 311 nil 312 end 309 313 end 310 314 trunk/lib/soap/mapping/wsdlencodedregistry.rb
r1679 r1688 99 99 soap_obj = obj 100 100 mark_marshalled_obj(obj, soap_obj) 101 elements2soap(obj, soap_obj, type. content.elements)101 elements2soap(obj, soap_obj, type.elements) 102 102 soap_obj 103 103 elsif obj.is_a?(SOAPArray) && (type = @definedtypes[type_qname]) … … 172 172 unless obj.nil? 173 173 mark_marshalled_obj(obj, soap_obj) 174 elements2soap(obj, soap_obj, type. content.elements)174 elements2soap(obj, soap_obj, type.elements) 175 175 end 176 176 soap_obj