Items in bold are those that I have the most experience.
- bundler - It manages your project's gem versions, so you don't have to. If you aren't using it, see me after class ಠ_ಠ
- bunny - Easy to use, feature complete Ruby client for RabbitMQ 3.3 and later versions.
- delayed_job - Easy to set up, challenging to scale
- resque - moderate difficulty to set up, scales well
- sidekiq - based on
resque
, super simple to set up, scales well
See also RubyToolbox "Background Jobs"
- fastercsv - Read/Write CSV data (only useful for Ruby 1.9.1 or prior) Ruby 1.9.2 replaced the
csv
standard library withfastercsv
. - spreadsheet - The Spreadsheet Library is designed to read and write Spreadsheet Documents. As of version 0.6.0, only Microsoft Excel compatible spreadsheets are supported.
- mongoid - MongoDB adapter
- mysql2 - MySQL/MariaDB adapter
- pg - PostgreSQL adapter
- sqlite3 - SQLite adapter
- rdoc - produces HTML and command-line documentation for Ruby projects
- yard - I'm a huge fan of yard's tagging system to provide useful metadata about my ruby code.
- airbrake - Reclaim your inbox by sending exception notifications to this hosted service (website)
- errbit - While technically not a gem, it's worth mentioning as a FREE, self-hosted alternative to Airbrake and Honeybadger. (You'd actually use the
airbrake
gem to connect to it.) (website) - honeybadger - Make managing application errors a more pleasant experience (website)
See also RubyToolbox "Exception Notification"
- httpi - Simple and works for vast majority of what you'll need to make HTTP calls (website)
- rest-client
- httparty
- faraday
See also RubyToolbox "HTTP Clients"
- jbuilder - Create JSON structures via a Builder-style DSL
- json
- oj - The fastest JSON parser and object serializer.
Also, see rabl
in "Miscellaneous"
- bluepill - Bluepill keeps your daemons up while taking up as little resources as possible
- god - "An easy to configure, easy to extend monitoring framework written in Ruby." It watches over things while you sleep. (Unix systems only.
god
doesn't support windows) (website) - sensu - monitoring framework that aims to be simple, malleable, and scalable
See also RubyToolbox "Server Monitoring"
- jekyll - Simple, blog aware, static site generator. (website)
- middleman - A static site generator. (website)
- cucumber - Test your HTML functionality via plain english test files. (warning: some regex knowledge is useful to get the most out of this gem)
- factory_girl - Simple DSL to define ruby object factories.
- guard - watches for changes on files and runs commands. I mainly use it to automatically run my specs as my source code changes.
- mocha - Mocking and stubbing library with JMock/SchMock syntax
- rspec
- simplecov - generates test coverage report to see what you've covered in your tests.
- timecop - A gem providing "time travel", "time freezing", and "time acceleration" capabilities, making it simple to test time-dependent code. (See also RubyToolbox "Time Warping")
- vcr - Used to test API interactions -- record an API call and replay it for testing purposes.
- rails - full featured ("kitchen sink", convention over configuration) (website)
- padrino - It fits somewhere in between rails and sinatra in regards to complexity. (I've heard of it, but haven't used it yet.) (website)
- sinatra - minimal framework. It's up to the developer to determine how to structure and organize code. (website)
- See also sinatra-contrib
See also RubyToolbox "Web App Frameworks"
- passenger - latest version codenamed "raptor"
- puma - simple, fast, threaded, and highly concurrent HTTP 1.1 server for Ruby/Rack applications
- thin - a thin and fast web server
- 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.
See also RubyToolbox "Web Servers"
- builder - Builder provides a number of builder objects that make creating structured data simple to do.
- gyoku - Ruby Hash to XML (less-intuitive API for attributes and collections)
- libxml-ruby - The Libxml-Ruby project provides Ruby language bindings for the GNOME Libxml2 XML toolkit. It is free software, released under the MIT License.
- nokogiri - Nokogiri is an HTML, XML, SAX, and Reader parser. Among Nokogiri's many features is the ability to search documents via XPath or CSS3 selectors.
- nori - XML to Ruby Hash
- savon - Heavy metal SOAP client
- xml-fu - Convert Hashes to XML (more intuitive api than
gyoku
)
Also, see rabl
in "Miscellaneous"
- activeadmin - The administration framework for Ruby on Rails.
- annotate - Place migration schema comments at the top of your Rails models/specs.
- awesome_print - pretty print Ruby objects to visualize their structure
- better_errors - local gem used to provide a better error page for Rails and other Rack applications.
- capistrano - Useful for orchestrating manual tasks on multiple remote servers.
- chronic - a natural language date/time parser written in pure Ruby
- dashing - Framework that lets you build & easily layout dashboards with your own custom widgets (website, demo)
- devise - well tested, full featured authentication system that you can plug into your Rails/Rack application.
- dotenv - load environment variables from
.env
- draper - Draper adds an object-oriented layer of presentation logic to your Rails apps
- faker - Generate fake data -- fake names, fake phone numbers, fake emails, fake domain names, lorem ipsum text, etc.
- github-markdown - Convert Github-flavored markdown to HTML.
- kaminari - a Scope & Engine based, clean, powerful, agnostic, customizable and sophisticated paginator for Rails 3+
- liquid - Easy to use text templating engine.
- mechanize - The Mechanize library is used for automating interaction with websites. Mechanize automatically stores and sends cookies, follows redirects, and can follow links and submit forms. Form fields can be populated and submitted. Mechanize also keeps track of the sites that you have visited as a history.
- newrelic_rpm - Ruby client for interacting with the NewRelic performance management service. New Relic provides you with deep information about the performance of your web application as it runs in various environments. (website)
- nyancat - exactly what it sounds like
- paper_trail - Keep track of the changes on your ActiveRecord models. Undo, redo, and revert to different versions of your model data.
- prawn - a fast, tiny, and nimble PDF generator for Ruby
- pry - An IRB alternative and runtime developer console
- rabl - General ruby templating with json, bson, xml and msgpack support
- thor - toolkit for building powerful command-line interfaces (website)
Written by CITguy
- See
xml-fu
in "XML" - ratatouille - DSL for validating complex Hash structures
- conpar - Firewall configuration parser. Read, parse, and tokenize configuration directives. (At present, only supports Comments and ACLs for Cisco ASA and Cisco PIX firewall configurations.)