Under the Hood

The source of Facets stregth is it's many contributors. Getting involved with Facets development is one of the best ways to get your ideas for Ruby extensions into the public forum.

Git Repository

GitHub houses our working git repository. Anyone is welcome to fork this repository and contribute back to the master branch via pull requests. If you are not familiar with using GitHub, here is a overview.

The master source is avaiable here.

Contribution Guidelines

The widely accepted practice of contributing to GitHub projects entails:

  • Fork rubyworks/facets
  • Create a topic branch: git checkout -b my_fix
  • Make your changes
  • Push your branch: git push origin my_fix
  • Open an Issue referencing your branch.
  • Please do not push to master on your fork!

Following this procedure will make everyone’s life easier.

As with all good libraries, testing is vital. Facets handles testing via two different libraries. Lemon is used for unit testing and QED is used for behavior specifications. Lemon was actaully designed specifially for Ruby Facets which forces tests to be on a per-method basis. QED is a tool for literate BDD. In fact Facets inline docuemtation is fully executable via QED.


If you have any questions, suggestions or contributions you'd like to make privately, you can contact Trans <transfire AT gmail DOT com>.