summaryrefslogtreecommitdiff
path: root/cpp/bindings/qmf/ruby
diff options
context:
space:
mode:
authorTed Ross <tross@apache.org>2009-09-23 15:34:46 +0000
committerTed Ross <tross@apache.org>2009-09-23 15:34:46 +0000
commite22a66333c43313a480273577d8834a1a04fabdc (patch)
tree8dce72eab68ca899d5650edfae634a7b04207231 /cpp/bindings/qmf/ruby
parent2d25b7496207e62c98386b96506d49f4311c4d49 (diff)
downloadqpid-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.rb41
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]