Author: elisabeth.hendrickson
Date: Mon Sep 22 10:21:48 2008
New Revision: 799
Modified:
trunk/proto/remote/ruby/examplelibrary.rb
trunk/proto/remote/ruby/robotremoteserver.rb
Log:
PL/EH - support for arrays and hashes
Modified: trunk/proto/remote/ruby/examplelibrary.rb
==============================================================================
--- trunk/proto/remote/ruby/examplelibrary.rb (original)
+++ trunk/proto/remote/ruby/examplelibrary.rb Mon Sep 22 10:21:48 2008
@@ -235,8 +235,8 @@
end
def return_nested_dictionary
-# return { 1=>{true=>false},
-# 2=>{'A'=>{'n'=>nil}, 'B'=>{'o'=>MyObject.new, 'e'=>{}}} }
+ return { 1=>{true=>false},
+ 2=>{'A'=>{'n'=>nil}, 'B'=>{'o'=>MyObject.new, 'e'=>{}}} }
end
@@attribute = "Not keyword"
Modified: trunk/proto/remote/ruby/robotremoteserver.rb
==============================================================================
--- trunk/proto/remote/ruby/robotremoteserver.rb (original)
+++ trunk/proto/remote/ruby/robotremoteserver.rb Mon Sep 22 10:21:48 2008
@@ -63,9 +63,17 @@
if [String, Integer, Fixnum, Float, TrueClass,
FalseClass].include?(ret.class)
return ret
elsif ret.class == Array
- return ret # TODO: Handle internal values
+ new_ret = []
+ ret.each {|item|
+ new_ret.push(handle_return_value(item))
+ }
+ return new_ret # TODO: Handle internal values
elsif ret.class == Hash
- return ret # TODO: Handle internal values
+ new_ret = {}
+ ret.keys.each {|key|
+ new_ret[key.to_s] = handle_return_value(ret[key])
+ }
+ return new_ret # TODO: Handle internal values
else
return ret.to_s
end