jrubyでjavascriptを実行させる

jrubyからrhinoを使ってjsを実行。渡す引数はjrubyなんかで作ったものでケーオツな状態。
こんなん試したけどなにに使おうか・・

require 'java'
include_class "org.mozilla.javascript.Context"
include_class "org.mozilla.javascript.Function"

context = Context::enter
begin
  script = "function add(a,b){return a+b};"
  
  ##initialize global scope
  scope = context.initStandardObjects
  
  ##script string compile
  func = context.compileFunction(scope, script, nil, 0, nil)
  
  ##do function
  res = func.call(context, scope, nil, [1,2].to_java)
  
  puts res
ensure
  Context::exit 
end

よくドキュメント読んでないので分からないんだけど、context.initStandardObjectsでStringだのDateだのNumberだのjsのオブジェクトが初期化されるみたいな。それとともにグローバル変数なんかもセットされるみたいな? あとはfunction作って引数とか渡すみたい。このへんは生jsの上の層の扱い方に似ている気がする。

すごく無駄なことをしている気がするけど、なんかに使えるかもなんでメモしとく。