diff options
Diffstat (limited to 'qpid/cpp/rubygen/generate')
| -rwxr-xr-x | qpid/cpp/rubygen/generate | 19 |
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 |
