aboutsummaryrefslogtreecommitdiffstats
path: root/lib/soap/mapping/registry.rb
diff options
context:
space:
mode:
authornahi <nahi@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2003-11-08 09:52:42 +0000
committernahi <nahi@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2003-11-08 09:52:42 +0000
commitb7931c40fee8ec76c2ef0398f228e034d7ff64e4 (patch)
tree4455d91a96cc91f03858ef6c517e9b7d7dbbf119 /lib/soap/mapping/registry.rb
parent2c35c4254e36cb3c59acfb50b738930c49cfd3af (diff)
downloadruby-b7931c40fee8ec76c2ef0398f228e034d7ff64e4.tar.gz
* test/wsdl/raa/*: add new testcase for WSDL loading, parsing and reading.
* test/soap/marshal/*: backport from soap4r/1.5.1. all differences are for ruby/1.6. * lib/soap/*: backport from soap4r/1.5.1. all differences are for ruby/1.6. * lib/wsdl/data.rb, lib/wsdl/xmlSchema/data.rb: move definition of ArrayTypeAttrName from ::WSDL::XMLSchema::* to ::WSDL::*. [ruby-talk:84813] * lib/wsdl/soap/definitions.rb: element name typo in custom exception struct definition which is needed for wsdlDriver; camelCase -> underscore_name. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4925 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/soap/mapping/registry.rb')
-rw-r--r--lib/soap/mapping/registry.rb19
1 files changed, 15 insertions, 4 deletions
diff --git a/lib/soap/mapping/registry.rb b/lib/soap/mapping/registry.rb
index bdf14d4fc6..e98c98a6d4 100644
--- a/lib/soap/mapping/registry.rb
+++ b/lib/soap/mapping/registry.rb
@@ -426,10 +426,21 @@ private
Mapping.set_instance_vars(obj, vars)
end
- def addextend2obj(obj, attr)
- return unless attr
- attr.split(/ /).reverse_each do |mstr|
- obj.extend(Mapping.class_from_name(mstr))
+ if RUBY_VERSION >= '1.8.0'
+ def addextend2obj(obj, attr)
+ return unless attr
+ attr.split(/ /).reverse_each do |mstr|
+ obj.extend(Mapping.class_from_name(mstr))
+ end
+ end
+ else
+ # (class < false; self; end).ancestors includes "TrueClass" under 1.6...
+ def addextend2obj(obj, attr)
+ return unless attr
+ attr.split(/ /).reverse_each do |mstr|
+ m = Mapping.class_from_name(mstr)
+ obj.extend(m) if m.class == Module
+ end
end
end