2011-02-06 15:22:40 -05:00
|
|
|
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
|
2011-02-07 11:07:54 -05:00
|
|
|
embedded within MRI Ruby
|
|
|
|
* [therubyrhino](https://github.com/cowboyd/therubyrhino) - Mozilla
|
|
|
|
Rhino embedded within JRuby
|
2011-02-06 15:22:40 -05:00
|
|
|
* [Google V8](http://code.google.com/p/v8/)
|
2011-02-06 20:39:30 -05:00
|
|
|
* [Node.js](http://nodejs.org/)
|
2011-02-07 11:07:54 -05:00
|
|
|
* Apple JavaScriptCore - Included with Mac OS X
|
2011-02-06 15:22:40 -05:00
|
|
|
* [Mozilla Spidermonkey](http://www.mozilla.org/js/spidermonkey/)
|
2011-02-06 23:57:40 -05:00
|
|
|
* TODO [Microsoft Windows Script Host](http://msdn.microsoft.com/en-us/library/9bbdkx3k.aspx) (JScript)
|
2011-02-06 15:22:40 -05:00
|
|
|
|
|
|
|
A short example:
|
|
|
|
|
|
|
|
require "execjs"
|
2011-02-06 20:09:07 -05:00
|
|
|
ExecJS.eval "'red yellow blue'.split(' ')"
|
2011-02-06 15:22:40 -05:00
|
|
|
# => ["red", "yellow", "blue"]
|