It is a port and advanced implementation of Ruby's core object/module/class system in JavaScript code, as well as several standard Ruby libraries and various other extensions.
Here are some key features of "JS.Class":
General Features:
· Method binding
· Ruby-like object system with classes, mixins, and singleton methods
· Late-binding arguments-optional super calls to parent classes and mixins
· Included, extended and inherited hooks
· Reflection APIs for the object system
· Conventions for object equality, comparison, iteration and hashing
· Versions of various standard Ruby modules and data structures
Works with:
· Node
· V8
· Rhino
· Narwhal
· SpiderMonkey
· Windows Script Host
Requirements:
· JavaScript enabled on client side
What's New in This Release: [ read full changelog ]
· Adds support for Node, Narwhal and Windows Script Host to the JS.Package loading system.
· Adds an `autoload` macro to the package system for quickly configuring modules using filename conventions.
· Renames `require()` to `JS.require()` so as not to conflict with CommonJS module API.