mirror of
https://github.com/rails/execjs
synced 2023-03-27 23:21:20 -04:00
Run JavaScript code from Ruby
9bf032ca79
workaround for jbarnette/johnson#21 workaround for nu7hatch/mustang#18 fix for ruby 1.8 (Disabled) |
||
---|---|---|
lib | ||
test | ||
.gitignore | ||
.travis.yml | ||
execjs.gemspec | ||
Gemfile | ||
LICENSE | ||
Rakefile | ||
README.md |
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 Ruby
- therubyrhino - Mozilla Rhino embedded within JRuby
- Johnson - Mozilla SpiderMonkey embedded within Ruby
- Mustang - Mustang V8 embedded within Ruby
- 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};"
Installation
$ gem install execjs
License
Copyright (c) 2011 Sam Stephenson and Josh Peek.
Released under the MIT license. See LICENSE
for details.