summaryrefslogtreecommitdiff
path: root/qpid/cpp/rubygen/amqpgen.rb
diff options
context:
space:
mode:
authorAlan Conway <aconway@apache.org>2007-08-09 00:03:43 +0000
committerAlan Conway <aconway@apache.org>2007-08-09 00:03:43 +0000
commit6cb197ee036143a671456a1999b1b6c68186062f (patch)
tree3640b0ce670556e52e4ca6b77bf7e94104b9ea01 /qpid/cpp/rubygen/amqpgen.rb
parent31fe3d751bf048c3e47599ef3a18b1c39b165e09 (diff)
downloadqpid-python-6cb197ee036143a671456a1999b1b6c68186062f.tar.gz
Moved Proxy generation to rubygen.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@564051 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp/rubygen/amqpgen.rb')
-rwxr-xr-xqpid/cpp/rubygen/amqpgen.rb6
1 files changed, 4 insertions, 2 deletions
diff --git a/qpid/cpp/rubygen/amqpgen.rb b/qpid/cpp/rubygen/amqpgen.rb
index 31f7544011..ae8e4c5d1c 100755
--- a/qpid/cpp/rubygen/amqpgen.rb
+++ b/qpid/cpp/rubygen/amqpgen.rb
@@ -114,7 +114,8 @@ class AmqpClass < AmqpElement
# chassis should be "client" or "server"
def methods_on(chassis)
- elements.collect("method/chassis[@name='#{chassis}']/..") { |m|
+ @cache_methods_on ||= { }
+ @cache_methods_on[chassis] ||= elements.collect("method/chassis[@name='#{chassis}']/..") { |m|
AmqpMethod.new(m,self)
}.sort_by_name
end
@@ -147,7 +148,8 @@ class AmqpRoot < AmqpElement
# Return all methods on chassis for all classes.
def methods_on(chassis)
- classes.collect { |c| c.methods_on(chassis) }.flatten
+ @cache_methods_on ||= { }
+ @cache_methods_on[chassis] ||= classes.collect { |c| c.methods_on(chassis) }.flatten
end
# Merge contents of elements.