From 34b478058f1eecea5bde4577aa76e1c6c2b16149 Mon Sep 17 00:00:00 2001 From: Alan Conway Date: Thu, 28 Feb 2008 14:47:59 +0000 Subject: 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 --- qpid/cpp/rubygen/generate | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) (limited to 'qpid/cpp/rubygen/generate') 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 -- cgit v1.2.1