mirror of
https://github.com/rails/execjs
synced 2023-03-27 23:21:20 -04:00
1.2 KiB
1.2 KiB
ExecJS
ExecJS lets you run JavaScript code from Ruby. It automatically picks the best runtime available to evaluate your JavaScript program, then returns the result to you as a Ruby object.
ExecJS supports these runtimes:
- therubyracer - Google V8 embedded within MRI Ruby
- therubyrhino - Mozilla Rhino embedded within JRuby
- Node.js
- Apple JavaScriptCore - Included with Mac OS X
- Mozilla Spidermonkey
- Microsoft Windows Script Host (JScript)
A short example:
require "execjs"
ExecJS.eval "'red yellow blue'.split(' ')"
# => ["red", "yellow", "blue"]
A longer example, demonstrating how to invoke the CoffeeScript compiler:
require "execjs"
require "open-uri"
source = open("http://jashkenas.github.com/coffee-script/extras/coffee-script.js").read
context = ExecJS.compile(source)
context.call("CoffeeScript.compile", "square = (x) -> x * x", :bare => true)
# => var square;\nsquare = function(x) {\n return x * x;\n};"