- Command Line Applications
- Documentation
- Gem Management
- GUI Programming
- Markup and Template Languages
- Static Web Site Generators
- Testing
- Web Development
- Web and App Servers
- XML Parsing
You could spend hours on the RubyGems web site to find what you’re looking for sometimes. Not because you can’t find it, but because often there are too many alternative libraries that overlap in terms of functionalities offered.
A site to check when you don’t know much of what has been done in a particular domain is The Ruby Toolbox, which organizes quite a lot of gems into categories. This section is somewhat similar, but it focuses on just a few common tasks and a small set of hand-picked gems.
Command Line Applications ⇈
cmdparse
“cmdparse provides classes for parsing commands on the command line; command line options are parsed using optparse or any other option parser implementation.”
- Web Page: http://cmdparse.rubyforge.org/
- Download: http://www.rubygems.org/gems/cmdparse
- Documentation: http://www.rubydoc.info/gems/cmdparse
gli
“An application and API for describing command line interfaces that can be used to quickly create a shell for executing command-line tasks.”
- Web Page: http://davetron5000.github.com/gli
- Download: http://www.rubygems.org/gems/gli
- Documentation: http://www.rubydoc.info/gems/gli
highline
“A high-level IO library that provides validation, type conversion, and more for command-line interfaces. HighLine also includes a complete menu system that can crank out anything from simple list selection to complete shells with just minutes of work.”
- Web Page: http://highline.rubyforge.org/
- Download: http://www.rubygems.org/gems/highline
- Documentation: http://www.rubydoc.info/gems/highline
hirb
“A mini view framework for console/irb that’s easy to use, even while under its influence. Console goodies include a no-wrap table, auto-pager, tree and menu”
- Web Page: https://github.com/cldwalker/hirb
- Download: http://www.rubygems.org/gems/hirb
- Documentation: http://www.rubydoc.info/gems/hirb
Documentation ⇈
glyph
“Glyph is a framework for structured document authoring.”
- Web Page: /glyph/
- Download: http://www.rubygems.org/gems/glyph
- Documentation: http://www.rubydoc.info/gems/glyph
rdoc
“RDoc produces HTML and online documentation for Ruby projects. RDoc includes the rdoc and ri tools for generating and displaying online documentation.”
- Web Page: https://github.com/rdoc/rdoc/
- Download: http://www.rubygems.org/gems/rdoc
- Documentation: http://www.rubydoc.info/gems/rdoc
yard
“YARD is a documentation generation tool for the Ruby programming language. It enables the user to generate consistent, usable documentation that can be exported to a number of formats very easily, and also supports extending for custom Ruby constructs such as custom class level definitions.”
- Web Page: http://yardoc.org/
- Download: http://www.rubygems.org/gems/yard
- Documentation: http://www.rubydoc.info/gems/yard
Gem Management ⇈
bundler
“Bundler manages an application’s dependencies through its entire life, across many machines, systematically and repeatably.”
- Web Page: http://gembundler.com/
- Download: http://www.rubygems.org/gems/bundler
- Documentation: http://www.rubydoc.info/gems/bundler
jeweler
“Simple and opinionated helper for creating Rubygem projects on GitHub”
- Web Page: http://github.com/technicalpickles/jeweler
- Download: http://www.rubygems.org/gems/jeweler
- Documentation: http://www.rubydoc.info/gems/jeweler
bones
“Mr Bones is a handy tool that creates new projects from a code skeleton.”
- Web Page: https://github.com/TwP/bones
- Download: http://www.rubygems.org/gems/bones
- Documentation: http://www.rubydoc.info/gems/bones
GUI Programming ⇈
bowline
“Ruby/JS GUI framework”
- Web Page: http://bowlineapp.com/
- Download: http://www.rubygems.org/gems/bowline
- Documentation: http://www.rubydoc.info/gems/bowline
fxruby
“FXRuby is the Ruby binding to the FOX GUI toolkit”
- Web Page: http://www.fxruby.org/
- Download: http://www.rubygems.org/gems/fxruby
- Documentation: http://www.rubydoc.info/gems/fxruby
wxruby
“wxRuby allows the creation of graphical user interface (GUI) applications via the wxWidgets library. wxRuby provides native-style GUI windows, dialogs and controls on platforms including Windows, OS X and Linux.”
- Web Page: http://wxruby.org/
- Download: http://www.rubygems.org/gems/wxruby
- Documentation: http://www.rubydoc.info/gems/wxruby
qtruby4
“Qt4 Bindings for Ruby.”
- Web Page: http://rubyforge.org/projects/korundum/
- Download: http://www.rubygems.org/gems/qtruby4
- Documentation: http://www.rubydoc.info/gems/qtruby4
rugui
“RuGUI is a framework which aims to help building desktop applications. RuGUI was mostly inspired by the Ruby on Rails framework, taking most of its features from it.”
- Web Page: http://rugui.org/
- Download: http://www.rubygems.org/gems/rugui
- Documentation: http://www.rubydoc.info/gems/rugui
Markup and Template Languages ⇈
bluecloth
“BlueCloth is a Ruby implementation of Markdown, a text-to-HTML conversion tool for web writers. To quote from the project page: Markdown allows you to write using an easy-to-read, easy-to-write plain text format, then convert it to structurally valid XHTML (or HTML).”
- Web Page: http://www.deveiate.org/projects/BlueCloth
- Download: http://www.rubygems.org/gems/bluecloth
- Documentation: http://www.rubydoc.info/gems/bluecloth
github-markup
“This gem is used by GitHub to render any fancy markup such as Markdown, Textile, Org-Mode, etc. Fork it and add your own!”
- Web Page: http://github.com/github/markup
- Download: http://www.rubygems.org/gems/github-markup
- Documentation: http://www.rubydoc.info/gems/github-markup
haml
“Haml (HTML Abstraction Markup Language) is a layer on top of XHTML or XML that’s designed to express the structure of XHTML or XML documents in a non-repetitive, elegant, easy way, using indentation rather than closing tags and allowing Ruby to be embedded with ease. It was originally envisioned as a plugin for Ruby on Rails, but it can function as a stand-alone templating engine.”
- Web Page: http://haml-lang.com/
- Download: http://www.rubygems.org/gems/haml
- Documentation: http://www.rubydoc.info/gems/haml
liquid
“A secure, non-evaling end user template engine with aesthetic markup.”
- Web Page: http://www.liquidmarkup.org/
- Download: http://www.rubygems.org/gems/liquid
- Documentation: http://www.rubydoc.info/gems/liquid
mustache
"Inspired by ctemplate, Mustache is a framework-agnostic way to render logic-free views. As ctemplates says, “It emphasizes separating logic from presentation: it is impossible to embed application logic in this template language. Think of Mustache as a replacement for your views. Instead of views consisting of ERB or HAML with random helpers and arbitrary logic, your views are broken into two parts: a Ruby class and an HTML template.”
- Web Page: http://github.com/defunkt/mustache
- Download: http://www.rubygems.org/gems/mustache
- Documentation: http://www.rubydoc.info/gems/mustache
rdiscount
“Fast Implementation of Gruber’s Markdown in C”
- Web Page: http://github.com/rtomayko/rdiscount/
- Download: http://www.rubygems.org/gems/rdiscount
- Documentation: http://www.rubydoc.info/gems/rdiscount
redcloth
“RedCloth is a Ruby library for converting Textile into HTML.”
- Web Page: http://redcloth.org/
- Download: http://www.rubygems.org/gems/redcloth
- Documentation: http://www.rubydoc.info/gems/redcloth
Static Web Site Generators ⇈
jekyll
“Jekyll is a simple, blog aware, static site generator.”
- Web Page: http://jekyllrb.com/
- Download: http://www.rubygems.org/gems/jekyll
- Documentation: http://www.rubydoc.info/gems/jekyll
nanoc
“a web publishing system written in Ruby for building small to medium-sized websites.”
- Web Page: http://nanoc.stoneship.org/
- Download: http://www.rubygems.org/gems/nanoc
- Documentation: http://www.rubydoc.info/gems/nanoc
toto
“the tiniest blog-engine in Oz.”
- Web Page: http://cloudhead.io/toto
- Download: http://www.rubygems.org/gems/toto
- Documentation: http://www.rubydoc.info/gems/toto
webby
“Webby is a fantastic little website management system. It would be called a content management system if it were a bigger kid. But, it’s just a runt with a special knack for transforming text. And that’s really all it does – manages the legwork of turning text into something else, an ASCII Alchemist if you will.”
- Web Page: http://webby.rubyforge.org/
- Download: http://www.rubygems.org/gems/webby
- Documentation: http://www.rubydoc.info/gems/webby
Testing ⇈
bacon
“Bacon is a small RSpec clone weighing less than 350 LoC but nevertheless providing all essential features.”
- Web Page: http://github.com/chneukirchen/bacon
- Download: http://www.rubygems.org/gems/bacon
- Documentation: http://www.rubydoc.info/gems/bacon
cucumber
“Behaviour Driven Development with elegance and joy”
- Web Page: http://cukes.info/
- Download: http://www.rubygems.org/gems/cucumber
- Documentation: http://www.rubydoc.info/gems/cucumber
minitest
“minitest provides a complete suite of testing facilities supporting TDD, BDD, mocking, and benchmarking. minitest/unit is a small and incredibly fast unit testing framework.”
- Web Page: https://github.com/seattlerb/minitest
- Download: http://www.rubygems.org/gems/minitest
- Documentation: http://www.rubydoc.info/gems/minitest
rspec
“RSpec is a Behaviour-Driven Development tool for Ruby programmers. BDD is an approach to software development that combines Test-Driven Development, Domain Driven Design, and Acceptance Test-Driven Planning. RSpec helps you do the TDD part of that equation, focusing on the documentation and design aspects of TDD.”
- Web Page: http://relishapp.com/rspec
- Download: http://www.rubygems.org/gems/rspec
- Documentation: http://www.rubydoc.info/gems/rspec
shoulda
“Making tests easy on the fingers and eyes”
- Web Page: http://www.thoughtbot.com/projects/shoulda
- Download: http://www.rubygems.org/gems/shoulda
- Documentation: http://www.rubydoc.info/gems/shoulda
Web Development ⇈
rails
“Ruby on Rails is a full-stack web framework optimized for programmer happiness and sustainable productivity. It encourages beautiful code by favoring convention over configuration.”
- Web Page: http://rubyonrails.org/
- Download: http://www.rubygems.org/gems/rails
- Documentation: http://www.rubydoc.info/gems/rails
sinatra
“Classy web-development dressed in a DSL”
- Web Page: http://www.sinatrarb.com/
- Download: http://www.rubygems.org/gems/sinatra
- Documentation: http://www.rubydoc.info/gems/sinatra
padrino-framework
“The Godfather of Sinatra provides a full-stack agnostic framework on top of Sinatra”
- Web Page: http://www.padrinorb.com/
- Download: http://www.rubygems.org/gems/padrino-framework
- Documentation: http://www.rubydoc.info/gems/padrino-framework
merb-core
“Merb. Pocket rocket web framework.”
- Web Page: http://www.merbivore.com/
- Download: http://www.rubygems.org/gems/merb-core
- Documentation: http://www.rubydoc.info/gems/merb-core
ramaze
“Ramaze is a simple and modular web framework”
- Web Page: http://ramaze.net/
- Download: http://www.rubygems.org/gems/ramaze
- Documentation: http://www.rubydoc.info/gems/ramaze
camping
“miniature rails for stay-at-home moms”
- Web Page: http://camping.rubyforge.org/
- Download: http://www.rubygems.org/gems/camping
- Documentation: http://www.rubydoc.info/gems/camping
Web and App Servers ⇈
passenger
“Easy and robust Ruby web application deployment.”
- Web Page: http://www.modrails.com/
- Download: http://www.rubygems.org/gems/passenger
- Documentation: http://www.rubydoc.info/gems/passenger
rack
“Rack provides a minimal interface between webservers supporting Ruby and Ruby frameworks.”
- Web Page: http://rack.rubyforge.org/
- Download: http://www.rubygems.org/gems/rack
- Documentation: http://www.rubydoc.info/gems/rack
thin
“A thin and fast web server”
- Web Page: http://code.macournoyer.com/thin/
- Download: http://www.rubygems.org/gems/thin
- Documentation: http://www.rubydoc.info/gems/thin
unicorn
“Unicorn is an HTTP server for Rack applications designed to only serve fast clients on low-latency, high-bandwidth connections and take advantage of features in Unix/Unix-like kernels.”
- Web Page: http://unicorn.bogomips.org/
- Download: http://www.rubygems.org/gems/unicorn
- Documentation: http://www.rubydoc.info/gems/unicorn
XML Parsing ⇈
hpricot
“a swift, liberal HTML parser with a fantastic library”
- Web Page: http://code.whytheluckystiff.net/hpricot/
- Download: http://www.rubygems.org/gems/hpricot
- Documentation: http://www.rubydoc.info/gems/hpricot
nokogiri
“An HTML, XML, SAX, & Reader parser with the ability to search documents via XPath or CSS3 selectors… and much more”
- Web Page: http://nokogiri.org/
- Download: http://www.rubygems.org/gems/nokogiri
- Documentation: http://www.rubydoc.info/gems/nokogiri
xml-simple
“A simple API for XML processing.”
- Web Page: http://xml-simple.rubyforge.org/
- Download: http://www.rubygems.org/gems/xml-simple
- Documentation: http://www.rubydoc.info/gems/xml-simple