summaryrefslogtreecommitdiff
path: root/cpp
diff options
context:
space:
mode:
authorTed Ross <tross@apache.org>2009-09-21 16:42:19 +0000
committerTed Ross <tross@apache.org>2009-09-21 16:42:19 +0000
commitccacd47fdc47b0bb3b26b87a51c59d88d47e8236 (patch)
treee47119a9bf82e0c81b85e3adb0f74a1366586d02 /cpp
parent4c9e6b30e9410cb32367be87ca9bbf941df750dc (diff)
downloadqpid-python-ccacd47fdc47b0bb3b26b87a51c59d88d47e8236.tar.gz
Fixed a Ruby convention problem (camel-case vs. underscores)
Added method_missing function for Arguments for direct access to method output args. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@817314 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp')
-rw-r--r--cpp/bindings/qmf/ruby/qmf.rb14
-rwxr-xr-xcpp/bindings/qmf/tests/ruby_console_test.rb4
2 files changed, 13 insertions, 5 deletions
diff --git a/cpp/bindings/qmf/ruby/qmf.rb b/cpp/bindings/qmf/ruby/qmf.rb
index cba9759135..965858909a 100644
--- a/cpp/bindings/qmf/ruby/qmf.rb
+++ b/cpp/bindings/qmf/ruby/qmf.rb
@@ -405,11 +405,11 @@ module Qmf
raise "No linkage to broker" unless @broker
newer = @broker.console.get_objects(Query.new(:object_id => object_id))
raise "Expected exactly one update for this object" unless newer.size == 1
- mergeUpdate(newer[0])
+ merge_update(newer[0])
end
- def mergeUpdate(newObject)
- @impl.merge(newObject.impl)
+ def merge_update(new_object)
+ @impl.merge(new_object.impl)
end
def deleted?()
@@ -470,6 +470,14 @@ module Qmf
@by_hash.each { |k, v| yield(k, v) }
end
+ def method_missing(name, *args)
+ if @by_hash.include?(name.to_s)
+ return @by_hash[name.to_s]
+ end
+
+ super.method_missing(name, args)
+ end
+
def by_key(key)
val = @map.byKey(key)
case val.getType
diff --git a/cpp/bindings/qmf/tests/ruby_console_test.rb b/cpp/bindings/qmf/tests/ruby_console_test.rb
index 7779d2c70c..a5d37ba71f 100755
--- a/cpp/bindings/qmf/tests/ruby_console_test.rb
+++ b/cpp/bindings/qmf/tests/ruby_console_test.rb
@@ -45,7 +45,7 @@ class ConsoleTest < ConsoleTestBase
result = parent.echo(seq)
assert_equal(result.status, 0, "Method Response Status")
assert_equal(result.text, "OK", "Method Response Text")
- assert_equal(result.args["sequence"], seq, "Echo Response Sequence")
+ assert_equal(result.args.sequence, seq, "Echo Response Sequence")
end
result = parent.set_numerics("bogus")
@@ -126,7 +126,7 @@ class ConsoleTest < ConsoleTestBase
result = parent.probe_userid
assert_equal(result.status, 0, "Method Response Status")
- assert_equal(result.args["userid"], "guest")
+ assert_equal(result.args.userid, "guest")
end
end