Easy to Learn

Learn Facets as you program, these resources make it a snap. Hook up with other users and broaden the scope of your usage. Ruby Facets has a moto, "All Base Common".



Facets can be dowloaded and installed easily using RubyGems:

$ gem install facets

Gems will automatically generate rdocs on installation. Unfortunately the Gem generated rdocs are very poor --in fact Facets only allows them to be generated to ensure the creation of ri docs (ruby api index files). We recommend instead that you use the pre-generated rdocs on the website.

Site Install

Note this is a very old-school installation method. We should probably remove this, but for the moment we leave it her for posterity's sake.

If you would like to install from source, you can download the tarball package from GitHub and use Ruby Setup, e.g.

$ tar -xvzf facets-2.9.0.tgz
$ cd facets-2.9.0
$ setup.rb

The last step may require super-user permissions (eg. use sudo).

Of course, to use Facets you also need Ruby. The 2.x versions of Facets are designed to work with Ruby 1.8.6 and up. Facets is fully compatible with Ruby 1.9.

API Documentation

The YARD documentation includes all of Facets, both the core extensions and standard library, in a single reference resource.

Facets offical API documentation is divided into two documentation sets, one for the core extensions, and the other for the standard library extensions and additions.


Core API

The CORE API (alt) includes only the core extensions. These methods are at the heart of Facets. Any application or library that makes use of Facets is encouraged to write their tests with all of these methods loaded to ensure cross-application support. Also included is the Functor class, which is a Higher Order Message class. It is used by a number of methods to provide fluid interfaces.

Standard API

The STANDARD API (alt) documents a variety of extension methods to Ruby's standard library, and additional classes and modules Facets provides as optional libraries.


The Wiki is a place for end-users to create their own documentation. Ultimately, it is hoped, this documentaiton will make a great source for sharing real-world use cases. The community wiki, that anyone can use to help document Facets, is at Facets Wiki.

Mailing List

Facets has a dedicated mailing list hosted via Google Groups. The same list is used by developers and end-users alike. If you have a question or a suggestion, the list this is a place you can use to get feedback. However the Github Issues page is so good these days that most people opt just to use it instead, which is fine.