JavaScript
Opal

JavaScriptからOpal側のコードを呼ぶ方法

More than 3 years have passed since last update.

Opal(JSで書かれたRuby処理系)用のコードをJSから呼ぶ方法です。
http://opalrb.org/docs/using_ruby_from_javascript/

そういう用途がどれくらいあるか分かりませんが、OpalのコードはJSにコンパイルされるので、変換規則を知っていればJavaScriptからOpal側のクラスやメソッドにアクセスすることが可能です。

例えば以下のようなクラスをOpalで定義したとします。

class Foo
  def bar
    puts "called bar on class Foo defined in ruby code"
  end
end

すると、「Fooのオブジェクトを作ってbarを呼ぶ」という操作は

Opal.Foo.$new().$bar();

のようにして実行できます。Opalのメソッドは頭に「$」が付いた名前で格納されているので注意してください。