diff options
| author | Ted Ross <tross@apache.org> | 2009-09-23 15:34:46 +0000 |
|---|---|---|
| committer | Ted Ross <tross@apache.org> | 2009-09-23 15:34:46 +0000 |
| commit | e22a66333c43313a480273577d8834a1a04fabdc (patch) | |
| tree | 8dce72eab68ca899d5650edfae634a7b04207231 /cpp/bindings/qmf/ruby | |
| parent | 2d25b7496207e62c98386b96506d49f4311c4d49 (diff) | |
| download | qpid-python-e22a66333c43313a480273577d8834a1a04fabdc.tar.gz | |
Fixes to the QMF Ruby API - added missing methods and reduced use of "get_" convention.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@818141 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/bindings/qmf/ruby')
| -rw-r--r-- | cpp/bindings/qmf/ruby/qmf.rb | 41 |
1 files changed, 34 insertions, 7 deletions
diff --git a/cpp/bindings/qmf/ruby/qmf.rb b/cpp/bindings/qmf/ruby/qmf.rb index 965858909a..265d2ce192 100644 --- a/cpp/bindings/qmf/ruby/qmf.rb +++ b/cpp/bindings/qmf/ruby/qmf.rb @@ -62,6 +62,17 @@ module Qmf @impl.setAttr(key, v) end + + def method_missing(name_in, *args) + name = name_in.to_s + if name[name.length - 1] == 61 + attr = name[0..name.length - 2] + set_attr(attr, args[0]) + return + end + + super.method_missing(name_in, args) + end end class ConnectionHandler @@ -212,6 +223,22 @@ module Qmf return ObjectId.new(@impl.getObjectId) end + def properties + list = [] + @object_class.properties.each do |prop| + list << [prop, get_attr(prop.name)] + end + return list + end + + def statistics + list = [] + @object_class.statistics.each do |stat| + list << [stat, get_attr(stat.name)] + end + return list + end + def get_attr(name) val = value(name) case val.getType @@ -403,7 +430,7 @@ module Qmf def update() raise "No linkage to broker" unless @broker - newer = @broker.console.get_objects(Query.new(:object_id => object_id)) + newer = @broker.console.objects(Query.new(:object_id => object_id)) raise "Expected exactly one update for this object" unless newer.size == 1 merge_update(newer[0]) end @@ -687,11 +714,11 @@ module Qmf @impl = i end - def get_package() + def package_name() @impl.getPackageName() end - def get_class() + def class_name() @impl.getClassName() end end @@ -808,7 +835,7 @@ module Qmf @broker_list.delete(broker) end - def get_packages() + def packages() plist = [] count = @impl.packageCount for i in 0...count @@ -817,7 +844,7 @@ module Qmf return plist end - def get_classes(package, kind=CLASS_OBJECT) + def classes(package, kind=CLASS_OBJECT) clist = [] count = @impl.classCount(package) for i in 0...count @@ -854,7 +881,7 @@ module Qmf end end - def get_agents(broker = nil) + def agents(broker = nil) blist = [] if broker blist << broker @@ -873,7 +900,7 @@ module Qmf return agents end - def get_objects(query, kwargs = {}) + def objects(query, kwargs = {}) timeout = 30 if kwargs.include?(:timeout) timeout = kwargs[:timeout] |
