Changeset 1930
- Timestamp:
- 08/30/07 23:38:46 (1 year ago)
- Files:
-
- trunk/lib/soap/baseData.rb (modified) (7 diffs)
- trunk/lib/soap/element.rb (modified) (2 diffs)
- trunk/lib/soap/mapping/encodedregistry.rb (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/lib/soap/baseData.rb
r1923 r1930 526 526 end 527 527 528 def to_s ()528 def to_s 529 529 str = '' 530 530 self.each do |key, data| … … 890 890 raise ArgumentError.new("given #{idxary.size} params does not match rank: #{@rank}") 891 891 end 892 893 892 retrieve(idxary) 894 893 end … … 896 895 def []=(*idxary) 897 896 value = idxary.slice!(-1) 898 899 897 if idxary.size != @rank 900 raise ArgumentError.new("given #{idxary.size} params(#{idxary})" + 901 " does not match rank: #{@rank}") 902 end 903 898 raise ArgumentError.new("given #{idxary.size} params(#{idxary}) does not match rank: #{@rank}") 899 end 904 900 idx = 0 905 901 while idx < idxary.size … … 909 905 idx += 1 910 906 end 911 912 907 data = retrieve(idxary[0, idxary.size - 1]) 913 908 data[idxary.last] = value 914 915 909 if value.is_a?(SOAPType) 916 910 value.elename = ITEM_NAME … … 922 916 value.type ||= @type 923 917 end 924 925 918 @offset = idxary 926 919 value.parent = self if value.respond_to?(:parent=) … … 1056 1049 end 1057 1050 1058 # Module function1059 1060 public1061 1062 1051 def self.decode(elename, type, arytype) 1063 1052 typestr, nofary = parse_type(arytype.name) … … 1082 1071 end 1083 1072 1084 private1085 1086 1073 def self.create_arytype(typename, rank) 1087 1074 "#{typename}[" << ',' * (rank - 1) << ']' trunk/lib/soap/element.rb
r1898 r1930 61 61 @elename = EleFaultName 62 62 @encodingstyle = EncodingNamespace 63 64 63 if faultcode 65 64 self.faultcode = faultcode … … 140 139 end 141 140 end 142 143 141 raise Parser::FormatDecodeError.new('no root element') 144 142 end trunk/lib/soap/mapping/encodedregistry.rb
r1921 r1930 66 66 end 67 67 end 68 ancestors = klass.ancestors 69 ancestors.delete(klass) 70 ancestors.delete(::Object) 71 ancestors.delete(::Kernel) 72 ancestors.each do |klass| 73 if map = @obj2soap[klass] 68 klass.ancestors.each do |baseclass| 69 next if baseclass == klass 70 if map = @obj2soap[baseclass] 74 71 map.each do |soap_class, factory, info| 75 72 if info[:derived_class]