Assertive Expressive is an assertions library specifically designed for reuse by other test frameworks.


Anise is an Annotation System for the Ruby programming language. Unlike most other annotations systems it is not a comment-based or macro-based system that sits over-and-above the rest of the code. Rather, Anise is a dynamic annotations system operating at runtime.


The ANSI project is a collection of ANSI escape code related libraries enabling ANSI code based colorization and stylization of output. It is very nice for beautifying shell output.


The Assay project defines Assertions in the same way that Ruby defines Exceptions. An asserition then simply becomes an extension to an Exception class.


Autoreload automatically reloads library files when they have been updated. It is especailly useful when testing stateless services such as web applications.


The idea of Bezel is to overcome the limitations of using different versions of the same package in the same Ruby process.


Simple two-way encryption/decryption class.


Provides a BinaryIO class as well as a reusable mixin, BinaryIO::Readable, which is the heart of the BinaryIO class. The mixin solely depends one method, read(n), which must be defined in the class/module where the module is mixed.


Brite is a remarkably easy to use, light-weight website generator. It supports a variety of backend rendering engines including rhtml via eruby, textile via redcloth, markdown via rdiscount, with others on the way.


Capsule is subclass of Module. It encapsulates an extenal script as a functions module.


Crypt3 is a ruby version of crypt(3), a salted one-way hashing of a password.


Cuts is an expiremental implementation of cut-based AOP for Ruby written in pure Ruby.


DNote makes it easy to extract developer's notes from source code, and supports almost any language.


Erbside is a simple project-oriented erb-based inline template system. Inline templates make it easy to do basic code generation without the need for duplicate files.


The Executable mixin is a very quick and and easy way to make almost any class usable via a command line interface. It simply uses writer methods as option setters, and the first command line argument as the method to call, with the subsequent arguments passed to the method.


Facets is the premier collection of extension methods for the Ruby programming language. Facets extensions are unique by virtue of thier atomicity. They are stored in individual files allowing for highly granular control of requirements. In addition, Facets includes a few additional classes and mixins suitable to wide variety of applications.


The Hashery is a collection of Hash-like classes, spun-off from the original Ruby Facets library. Included are the widely used OrderedHash, the related but more featured Dictionary class, a number of open classes, similiar to the standard OpenStruct and a few variations on the standard Hash.


Sanitize and sterilize HTML, also includes a CSS filter.


Jam is a data-driven template system.


Knockout is test framework with a next-gen conceptual model and a sexy light-weight implementation.


Lemon is a unit testing framework that tightly correlates class to test case and method to test unit.


LOCat is a customizable Lines-Of-Code analysis tool. LOC might not be the most useful metric in the universe, but it still provides useful information and can be a lot of fun.


LongFish is RDoc template modeled after John Long's design the It allows your Ruby application or library have a very Ruby look and feel.


Malt provides a factory framework for rendering a variety of template and markup document formats.


Mast is a command line tool for generating manifests and digests. Mast makes it easy to compare a manifest to a current directory structure, and to update the manifest with a simple command by storing the command options it the manifest file itself.


Matriarch is traits system for Ruby that sections a class into a matrix of Method and Precedence.


Ruby Mixers is collection mixin modules for the Ruby programming language. Mixers is a spin-off of Ruby Facets. When Ruby Facets scaled back to extensions only project, it's mixin modules were gathered to create this new project.


Neapolitan is a meta-templating engine. Like a candy store it allows you to pick and choose from a variety of rendering formats in the construction of a single document. Selections include eruby, textile, markdown and many others.


NoBacksies is a callback layer built on top of Ruby's built-in callback methods. It makes it possible to add new callbacks very easily, without having to fuss with more nuanced issues of defining and redefining callback methods.


Norma (or Normal Ivy) is stealth ORM. It literally conects the entire Ruby instance system to a database.


OpenDSL is the ultimate DSL system. It marries the concept of duck-typing with Ruby's metaprogramming capabilities and mixin system to create a remarkably simple but incredibly powerful DSL framework.


Parametric Mixins provides parameters for mixin modules.


Provides a complete double-dispatch type conversion system, method overloadability and psuedo-classes.


Plugins is a general purpose plugin handler for Ruby. (NoteThis has nothing to do with Rails plugins.)


POM provides a complete project layout standard and metadata system for Ruby developers.


A priority queue is like a standard queue, except that each inserted elements is given a certain priority, based on the result of the comparison block given at instantiation time. Retrieving an element from the queue will always return the one with the highest priority.


QED (Quality Ensured Demonstrations) is a TDD/BDD framework utilizing Literate Programming techniques.


R4X is an implementation of E4X for Ruby.


Convert to and from any base.


RagTag is a Ruby variation loosely based on Zope Page Templates and it's TAL specification. It differs from ZPT in that it is specifically geared for use by Ruby.


Version:: 0.0.1 License:: Custom Copyright:: (c) 2011 Thomas Sawyer


RAML is a Ruby-syntax-based data language.


Ratch is a Ruby-based batch scripting language. It's a DSL over regular Ruby to make the life of the batch script writter easier.


Fish makes RDocs *Pop*. Fish is an RDoc templating framework used by a number of external template projects.


LongFish is an RDoc template modeled after John Long's design of the offical Ruby website ( It allows any Ruby application or library to have a very Ruby look and feel.


Newfish is an ever changing RDoc template, as it reaches a point of design "beauty" it gets spun off as a new rdoc format. Think of it as "edge" rdoc-fish.


Onefish is an RDoc template which uses only a single webpage. It was designed to facilitate the documentation of smaller libraries and printable documentation.


RedFish is a variant of Darkfish --RDoc's standard HTML template. Unlike Darkfish, Redfish is Red and a bit easier to navigate.


Tabfish is an RDoc template that provides a good index, making it especially good for large projects.


Twofish is an RDoc template with a very simple and clean interface.


Yea, Reap has evolved over the years.


Regex is a simple commmandline Regular Expression tool, that makes easy to search documents for content matches.


A Unit system, based on Rich Kilmer's original time.rb work, which provides english-esque methods for working with common units, such as days and bytes and multiplers like kilo, or mega. It does so by reducing basic measures to a lower common denominator, such as seconds for time measures and bits for byte measures.

Ruby Applets

Ruby Applets creates an isolated namespace for running ruby-based commands. Think of it as a secondary system `bin/` designed for Ruby developers, but integerated with-in the Ruby language.


Shomen defines a standardized documentaiton format for Ruby programs which is used by other systems as a common source for rendering.


Stick is a very elegant and comprehensive units system providing SI units, US English units, UK Imperial Units, and two variations of Plank units, all via a very easy to use method-based interface. It also include a large set of real world contants, provided in "m kg s" and "cm kg s" SI units, and any of the other units of measure.


String::Mask provides a kind-of string algebra useful for manipulating strings in in comparitive ways, eg. add, subtract, xor, etc.

Tap Out

Tap Out is a TAP consumer that can take any TAP, TAP-Y or TAP-J stream and output it in a variety of useful formats.


TkXML translates XML markup into Ruby Tk interface code


A TracePoint is a Binding with the addition of event information. Among other things, it functions very well as the join-point for AOP. In practice it provides a better alternative to using


VanUnits is a units system providing both SI units and web-updated currency units, via a very easy to use method-based interface. It also include a large set of real world contants, provided in "m kg s" and "cm kg s" measures.


VCLog is a cross-VCS/SCM ChangeLog generator.


WebRI is a Webrick-based RI browser.


The Wedge gem provides an easy to use interface for adding custom load managers to Ruby's standard load system (the `load` and `require` methods). In addition, Wedge includes two pre-assembled wedges that prevent load interfence between libraries.


XDG provides a module for supporting the XDG Base Directory Standard. See


XOXO is a Ruby XOXO parser and generator. It provides a Ruby API similar to Marshal and YAML (though more specific) to load and dump XOXO[], an simple, open outline format written in standard XHTML and suitable for embedding in (X)HTML, Atom, RSS, and arbitrary XML.


Yardbird is a YARD plugin that allows you, the developer, to customize your documentation parsing system.

YARD ShutUp!

If I want to know about the tags that aren't defined I will ask. So YARD, shut up!


Implements [TomDoc]( syntax for YARD. 'Nuff said.


YAML Easy Schemas it a straight-foward but powerful YPath-based schema format and validation program for YAML documents.