mirror of
https://github.com/rails/execjs
synced 2023-03-27 23:21:20 -04:00
42 lines
1.3 KiB
Markdown
42 lines
1.3 KiB
Markdown
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](https://github.com/cowboyd/therubyracer) - Google V8
|
|
embedded within Ruby
|
|
* [therubyrhino](https://github.com/cowboyd/therubyrhino) - Mozilla
|
|
Rhino embedded within JRuby
|
|
* [Node.js](http://nodejs.org/)
|
|
* Apple JavaScriptCore - Included with Mac OS X
|
|
* [Microsoft Windows Script Host](http://msdn.microsoft.com/en-us/library/9bbdkx3k.aspx) (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) 2013 Sam Stephenson and Josh Peek.
|
|
|
|
Released under the MIT license. See `LICENSE` for details.
|