summaryrefslogtreecommitdiff
path: root/qpid/cpp/rubygen/generate
diff options
context:
space:
mode:
authorAlan Conway <aconway@apache.org>2008-02-28 14:47:59 +0000
committerAlan Conway <aconway@apache.org>2008-02-28 14:47:59 +0000
commit34b478058f1eecea5bde4577aa76e1c6c2b16149 (patch)
treeaee6f3b7a1982542f7402172aea132f0763dace0 /qpid/cpp/rubygen/generate
parent7808370057cf31cf392a7cbc9cf41b78c3593855 (diff)
downloadqpid-python-34b478058f1eecea5bde4577aa76e1c6c2b16149.tar.gz
Fixed merging of multiple XML files for the same version.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@631987 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp/rubygen/generate')
-rwxr-xr-xqpid/cpp/rubygen/generate19
1 files changed, 8 insertions, 11 deletions
diff --git a/qpid/cpp/rubygen/generate b/qpid/cpp/rubygen/generate
index d094be4f41..c370d92897 100755
--- a/qpid/cpp/rubygen/generate
+++ b/qpid/cpp/rubygen/generate
@@ -20,18 +20,15 @@ EOS
end
# Create array of specs by version
-def parse_specs(specs)
- roots={ }
- specs.each { |spec|
- root=AmqpRoot.new(spec)
- ver=root.version
- if (roots[ver])
- roots[ver].merge(root)
- else
- roots[ver]=root
- end
+def parse_specs(files)
+ specs=Hash.new { |h,k| h[k]=[] }
+ files.each { |f|
+ spec=AmqpRoot.new(File.new(f))
+ specs[spec.version] << spec
+ }
+ specs.each_pair { |k,v|
+ specs[k] = v.size==1 ? v.first : AmqpRoot.new(*v.map { |s| s.xml})
}
- roots
end
# Run selected templates