A collection of awesome Ruby libraries, tools, frameworks and software. The essential Ruby to build modern Apps and Web Apps.
Inspired by the awesome-*
trend on GitHub.
The goal is to build a categorized community-driven collection of very well-known resources.
Sharing, suggestions and contributions are always welcome! Please take a look at the contribution guidelines and quality standard first.
Thanks to all contributors, you're awesome and wouldn't be possible without you!
- Awesome Ruby
- Abstraction
- A/B Testing
- Admin Interface
- Analytics
- API Builder
- Assets
- Authentication and OAuth
- Authorization
- Automation
- Caching
- CLI Builder
- CMS
- Code Analysis and Metrics
- Coding Style Guides
- Concurrency
- Configuration
- Core Extensions
- Country Data
- CRM
- Dashboards
- Data Visualization
- Database Drivers
- Database Tools
- Date and Time Processing
- Debugging Tools
- Decorators
- DevOps Tools
- Documentation
- E-Commerce and Payments
- Ebook
- Environment Management
- Error Handling
- File Upload
- Form Builder
- Game Development
- Geolocation
- Git Tools
- GUI
- HTML/XML Parsing
- HTTP
- Image Processing
- Internationalization
- Logging
- Machine Learning
- Markdown Processors
- Misc
- Mobile Development
- Money
- Natural Language Processing
- Navigation
- ORM/ODM
- ORM/ODM Extensions
- Package Management
- Pagination
- Performance Monitoring
- Process Monitoring
- Processes and Threads
- Profiler
- Queue
- Rails Application Generators
- Robotics
- RSS
- Scheduling
- Scientific
- Search
- Security
- SEO
- Social Networking
- State Machines
- Static Site Generation
- Template Engine
- Testing
- Third-party APIs
- Video
- Web Crawling
- Web Frameworks
- Web Servers
- WebSocket
- Services and Apps
- Resources
- Other Awesome Lists
- ActiveInteraction - Manage application specific business logic.
- Apotomo - Based on Cells, Apotomo gives you widgets and encapsulation, bubbling events, AJAX page updates, rock-solid testing and more.
- Cells - View Components for Rails.
- Decent Exposure - A helper for creating declarative interfaces in controllers.
- Interactor - Interactor provides a common interface for performing complex interactions in a single request.
- Light Service - Series of Actions with an emphasis on simplicity.
- Mutations - Compose your business logic into commands that sanitize and validate input.
- Responders - A set of Rails responders to dry up your application.
- Trailblazer - Trailblazer is a thin layer on top of Rails. It gently enforces encapsulation, an intuitive code structure and gives you an object-oriented architecture.
##A/B Testing
- Split - Rack Based AB testing framework.
- Vanity - an A/B testing framework for Rails that is datastore agnostic.
- ActiveAdmin - A Ruby on Rails framework for creating elegant backends for website administration.
- bhf - A simple to use Rails-Engine-Gem that offers an admin interface for trusted user.
- RailsAdmin - A Rails engine that provides an easy-to-use interface for managing your data.
- Typus - Ruby on Rails control panel to allow trusted users edit structured content.
- Upmin Admin - A framework for creating powerful Ruby on Rails admin backends with minimal effort.
- Ahoy - A solid foundation to track visits and events in Ruby, JavaScript, and native apps.
- Analytical - Gem for managing multiple analytics services in your rails app.
- FnordMetric - A ruby/redis framework for collecting and visualizing timeseries data. It enables you to build beautiful real-time analytics dashboards within minutes.
- Gabba - Simple way to send server-side notifications to Google Analytics.
- Impressionist - Rails Plugin that tracks impressions and page views.
- Legato - Model analytics reports and queries against the official Google Analytics Reporting API.
- Rack::Tracker - Rack middleware that can be hooked up to multiple services and exposing them in a unified fashion.
- Staccato - Track analytics into the official Google Analytics Collection API.
- ActiveModel::Serializers - JSON serialization of objects.
- Blanket - A dead simple API wrapper.
- Crêpe - The thin API stack.
- Grape - An opinionated micro-framework for creating REST-like APIs in Ruby.
- jbuilder - Create JSON structures via a Builder-style DSL.
- JSONAPI::Resources - JSONAPI::Resources, or "JR", provides a framework for developing a server that complies with the JSON API specification.
- Jsonite - A tiny, HAL-compliant JSON presenter for your APIs.
- Pliny - Opinionated template Sinatra app for writing excellent APIs in Ruby.
- rabl - General ruby templating with json, bson, xml, plist and msgpack support.
- Rails::API - Rails for API only applications.
- Roar - Resource-Oriented Architectures in Ruby.
- Version Cake - An unobtrusive way to version APIs in your Rails app.
- versionist - A plugin for versioning Rails based RESTful APIs.
- Emoji - Exposes the Phantom Open Emoji library unicode/image assets and APIs for working with them.
- Less Rails - The dynamic stylesheet language for the Rails asset pipeline.
- Less - Leaner CSS, in your browser or Ruby.
- Sass - Sass makes CSS fun again.
- Management:
- Asset Sync - Synchronises Assets between Rails and S3.
- Autoprefixer - Parse CSS and add vendor prefixes to rules by Can I Use.
- bower-rails - Bower support for Rails projects.
- Rails Assets - Bundler to Bower proxy.
- Sprockets - Rack-based asset packaging system.
- Development:
- Quiet Assets - Mute assets pipeline log messages.
- Authlogic - Authlogic is a clean, simple, and unobtrusive ruby authentication solution.
- Clearance - Small and simple email & password based authenticaton for Rails.
- Devise - A flexible authentication solution for Rails based on Warden.
- OmniAuth - A library that standardizes multi-provider authentication utilizing Rack middleware.
- Shield - Authentication protocol for use in your routing and model context.
- Sorcery - Magical Authentication for Rails 3 and 4.
- warden - General Rack Authentication Framework.
- OAuth:
- Doorkeeper - An OAuth2 provider for Rails.
- OAuth2 - A Ruby wrapper for the OAuth 2.0 protocol.
- acl9 - Acl9 is a role-based authorization system that provides a concise DSL for securing your Rails application.
- Authority - ORM-neutral way to authorize actions in your Rails app.
- CanCanCan - Continuation of CanCan, an authorization Gem for Ruby on Rails.
- Declarative Authorization - An authorization Rails plugin using a declarative DSL for specifying authorization rules in one place.
- Pundit - Minimal authorization through OO design and pure Ruby classes.
- Huginn - Huginn is a system for building agents that perform automated tasks for you online.
- Action caching for Action Pack - Action caching for Action Pack.
- Dalli - A high performance pure Ruby client for accessing memcached servers.
- Record Cache - Cache Active Model Records in Rails 3.
- Cocaine - A small library for doing (command) lines.
- Commander - The complete solution for Ruby command-line executables.
- GLI - Git-Like Interface Command Line Parser.
- Main - A class factory and DSL for generating command line programs real quick.
- Rake - A make-like build utility for Ruby.
- Ru - Ruby in your shell.
- Slop - Simple Lightweight Option Parsing.
- Thor - A toolkit for building powerful command-line interfaces.
- TTY - Toolbox for developing CLI clients.
- Alchemy CMS - A powerful, userfriendly and flexible Open Source Rails CMS.
- Comfortable Mexican Sofa - A powerful Rails 4 CMS Engine.
- LocomotiveCMS - A simple but powerful CMS based on Liquid templates and Mongodb database.
- Publify - A self hosted Web publishing platform on Rails.
- Radiant - A no-fluff, open source content management system designed for small teams.
- Refinery CMS - An open source Ruby on Rails content management system for Rails 3 and 4.
- Storytime - Rails 4+ CMS and bloging engine, with a core focus on content.
- Brakeman - A static analysis security vulnerability scanner for Ruby on Rails applications.
- Cane - Code quality threshold checking as part of your build.
- Coverband - Rack middleware to help measure production code coverage.
- Flay - Flay analyzes code for structural similarities. Differences in literal values, variable, class, method names, whitespace, programming style, braces vs do/end, etc are all ignored. Making this totally rad.
- Flog - Flog reports the most tortured code in an easy to read pain report. The higher the score, the more pain the code is in.
- fukuzatsu - Complexity analysis tool with a rich web front-end.
- MetricFu - A fist full of code metrics.
- Pronto - Quick automated code review of your changes.
- rails_best_practices - A code metric tool for rails projects.
- Reek - Code smell detector for Ruby.
- Rubocop - A static code analyzer, based on the community Ruby style guide.
- Rubycritic - A Ruby code quality reporter.
- SimpleCov - Code coverage for Ruby 1.9+ with a powerful configuration library and automatic merging of coverage across test suites.
- Rails style guide - Community-driven Rails best practices and style for Rails 3 and 4.
- RSpec style guide - Better Specs { rspec guidelines with ruby }.
- Ruby style guide - Community-driven Ruby coding style.
- Celluloid - Actor-based concurrent object framework for Ruby.
- Concurrent Ruby - Modern concurrency tools including agents, futures, promises, thread pools, supervisors, and more. Inspired by Erlang, Clojure, Scala, Go, Java, JavaScript, and classic concurrency patterns.
- EventMachine - An event-driven I/O and lightweight concurrency library for Ruby.
- Configatron - Simple and feature rich configuration system for Ruby apps.
- Configus - Helps you easily manage environment specific settings.
- dotenv - Loads environment variables from
.env
. - Econfig - Flexible configuration for Rails applications.
- Figaro - Simple, Heroku-friendly Rails app configuration using
ENV
and a single YAML file. - Global - Provides accessor methods for your configuration data.
- RailsConfig - Multi-environment yaml settings for Rails3.
- ActiveSupport - A collection of utility classes and standard library extensions.
- Ruby Facets - The premiere collection of general purpose method extensions and standard additions for Ruby.
- Attributes
- ActiveAttr - What ActiveModel left out.
- FastAttributes - FastAttributes adds attributes with their types to the class.
- Virtus - Attributes on Steroids for Plain Old Ruby Objects.
- Hash
- Hashie - A collection of tools that extend Hashes and make them more useful.
- Carmen - A repository of geographic regions.
- Countries - All sorts of useful information about every country packaged as pretty little country objects.
- GlobalPhone - Parse, validate, and format phone numbers in Ruby using Google's libphonenumber database.
- i18n_data - country/language names and 2-letter-code pairs, in 85 languages, for country/language i18n.
- normalize_country - Convert country names and codes to a standard, includes a conversion program for XMLs, CSVs and DBs.
- Fat Free CRM - An open source Ruby on Rails based customer relationship management platform.
- Dashing - A Sinatra based framework that lets you build beautiful dashboards.
- Dashing-Rails - The exceptionally handsome dashboard framework for Rails.
- Chartkick - Create beautiful Javascript charts with one line of Ruby. Works with Rails, Sinatra and most browsers (including IE 6).
- LazyHighCharts - A simple and extremely flexible way to use HighCharts from ruby code. Tested on Ruby on Rails, Sinatra and Nanoc, but it should work with others too.
- RailRoady - Ruby on Rails 3/4 model and controller UML class diagram generator.
- Rails Erd - Generate Entity-Relationship Diagrams for Rails applications.
- Ruby/GraphViz - Ruby interface to the GraphViz graphing tool.
- Cassandra Driver - A pure ruby driver for Apache Cassandra with asynchronous io and configurable load balancing, reconnection and retry policies.
- DataObjects - An attempt to rewrite existing Ruby database drivers to conform to one, standard interface.
- mongo-ruby-driver - MongoDB Ruby driver.
- moped - A MongoDB driver for Ruby.
- mysql2 - A modern, simple and very fast Mysql library for Ruby (binding to libmysql).
- Redic - Lightweight Redis Client.
- redis-rb - A Ruby client that tries to match Redis' API one-to-one, while still providing an idiomatic interface.
- ruby-pg - Ruby interface to PostgreSQL 8.3 and later.
- SQLite3 - Ruby bindings for the SQLite3 embedded database.
- SQL Server - The SQL Server adapter for ActiveRecord.
- Database Cleaner - Database Cleaner is a set of strategies for cleaning your database in Ruby.
- Foreigner - Adds foreign key helpers to migrations and correctly dumps foreign keys to schema.rb.
- Large Hadron Migrator - Online MySQL schema migrations without locking the table.
- PgHero - Postgres insights made easy.
- Seedbank - Seedbank allows you to structure your Rails seed data instead of having it all dumped into one large file.
- Seed dump - Rails 4 task to dump (parts) of your database to db/seeds.rb.
- Seed Fu - Advanced seed data handling for Rails.
- business_time - Support for doing time math in business hours and days.
- ByStar - Find ActiveRecord objects by year, month, fortnight, week and more!
- Chronic - A natural language date/time parser written in pure Ruby.
- groupdate - The simplest way to group temporal data in ActiveRecord, arrays and hashes.
- ice_cube - A date recurrence library which allows easy creation of recurrence rules and fast querying.
- local_time - Rails Engine for cache-friendly, client-side local time.
- time-lord - Adds extra functionality to the time class.
- time_diff - Calculates the difference between two time.
- TZinfo - Provides daylight savings aware transformations between times in different timezones.
- validates_timeliness - Date and time validation plugin for ActiveModel and Rails.
- yymmdd - Tiny DSL for idiomatic date parsing and formatting.
- Byebug - A simple to use, feature rich debugger for Ruby 2.
- debugger - A port of ruby-debug that works on 1.9.2 and 1.9.3.
- did_you_mean - Adds class, method & attributute suggestions to error messages.
- Rails Footnotes - Rails footnotes displays footnotes in your application for easy debugging, such as sessions, request parameters, cookies, filter chain, routes, queries, etc.
- Xray - A development tool that reveals your UI's bones.
- Draper - Draper adds an object-oriented layer of presentation logic to your Rails application.
- ShowFor - Quickly show a model information with I18n features. Like form_for for displaying model data.
- Backup - Provides an elegant DSL in Ruby for performing backups on UNIX-like systems.
- BOSH - Cloud Foundry BOSH is an open source tool chain for release engineering, deployment and lifecycle management of large scale distributed services.
- Capistrano - A remote server automation and deployment tool written in Ruby.
- Centurion - A mass deployment tool for Docker fleets.
- Chef - A systems integration framework, built to bring the benefits of configuration management to your entire infrastructure.
- Kochiku - Kochiku is a distributed platform for test automation.
- Lita - ChatOps for Ruby: A pluggable chat bot framework usable with any chat service.
- Logstash - Logs/event transport, processing, management, search.
- Mina - Really fast deployer and server automation tool.
- Puppet - An automated administrative engine for your Linux, Unix, and Windows systems, performs administrative tasks (such as adding users, installing packages, and updating server configurations) based on a centralized specification.
- Request-log-analyzer - Create reports based on your log files. Supports Rails, Apache, MySQL, Delayed::Job, and other formats.
- Rubber - The rubber plugin enables relatively complex multi-instance deployments of RubyOnRails applications to Amazon's Elastic Compute Cloud (EC2).
- Vagrant - Create and configure lightweight, reproducible, and portable development environments.
- Annotate - Add a comment documenting the current schema to the top or bottom of each of your ActiveRecord models.
- Apipie - Rails API documentation and display tool using Ruby syntax.
- Asciidoctor - A fast, Ruby-based text processor & publishing toolchain for converting AsciiDoc to HTML5, DocBook, EPUB3, PDF & more.
- Documentation - A Rails engine to provider the ability to add documentation to a Rails application.
- grape-swagger - Add swagger compliant documentation to your Grape API.
- Inch - Inch is a documentation measurement and evalutation tool for Ruby code, based on YARD.
- RDoc - RDoc produces HTML and command-line documentation for Ruby projects.
- YARD - YARD enables the user to generate consistent, usable documentation that can be exported to a number of formats very easily.
- Active Merchant - A simple payment abstraction library extracted from Shopify.
- Koudoku - Robust subscription support for Ruby on Rails apps using Stripe, including out-of-the-box pricing pages, payment pages, and subscription management.
- Payola - Drop-in Rails engine for accepting payments with Stripe.
- Paypal Merchant SDK - Official Paypal Merchant SDK for Ruby.
- Piggybak - Modular, Extensible open-source ecommerce solution for Ruby on Rails.
- ROR Ecommerce - A Rails e-commerce platform.
- Shoppe - A Rails-based e-commerce platform which allows you to easily introduce a catalogue-based store into your Rails 4 applications.
- Spree - Spree is a complete open source e-commerce solution for Ruby on Rails.
- stripe-ruby - Stripe Ruby bindings.
- Bookshop - Bookshop is a an open-source agile book development and publishing framework for authors, editors.
- Eeepub - EeePub is a Ruby ePub generator.
- Gepub - A generic EPUB library for Ruby : supports EPUB 3.
- Git Scribe - Basically the best way to write an ebook.
- Mobi - A Ruby way to read MOBI format metadata.
- Review - Re:VIEW is flexible document format/conversion system.
- Incoming - Incoming! helps you receive email in your Rack apps.
- LetterOpener - Preview mail in the browser instead of sending.
- Mail - A Really Ruby Mail Library.
- MailCatcher - Catches mail and serves it through a dream.
- MailForm - Send e-mail straight from forms in Rails with I18n, validations, attachments and request information.
- Mailman - An incoming mail processing microframework in Ruby.
- Markerb - Allows you to render multipart e-mails from a single template written in Markdown.
- Pony - The express way to send mail from Ruby.
- premailer-rails - CSS styled emails without the hassle.
- Roadie - Roadie tries to make sending HTML emails a little less painful by inlining stylesheets and rewriting relative URLs for you inside your emails.
- chgems - Chroot for RubyGems.
- chruby - Change your current Ruby. No shims, no crazy options or features, ~90 LOC.
- fry - Simple ruby version manager for fish.
- gem_home - A tool for changing your $GEM_HOME.
- rbenv - Use rbenv to pick a Ruby version for your application and guarantee that your development environment matches production.
- ruby-build - Compile and install Ruby.
- ruby-install - Installs Ruby, JRuby, Rubinius, MagLev or MRuby.
- RVM - RVM is a command-line tool which allows you to easily install, manage, and work with multiple ruby environments from interpreters to sets of gems.
- Tokaido - Ruby, Rails, SQLite and Redis encapsulated in a single drag-and-drop OS X app, designed to make installing a working RoR environment easy for beginners.
- Airbrake - The official Airbrake library for Ruby on Rails (and other Rack based frameworks).
- Better Errors - Better error page for Rack apps.
- Errbit - The open source, self-hosted error catcher.
- Exception Notification - A set of notifiers for sending notifications when errors occur in a Rack/Rails application.
- Nesty - Nested exceptions for Ruby.
- Raven Ruby - Raven is a Ruby client for Sentry.
- CarrierWave - Classier solution for file uploads for Rails, Sinatra and other Ruby web frameworks.
- DragonFly - A Ruby gem for on-the-fly processing - suitable for image uploading in Rails, Sinatra and much more!.
- PaperClip - Easy file attachment management for ActiveRecord.
- rack-secure-upload - Upload files securely.
- Refile - A modern file upload library for Ruby applications, Refile is an attempt by CarrierWave's original author to fix the design mistakes and overengineering in CarrierWave.
- Abracadabra - The gem that swaps out text with a fully-compliant Rails form in one click.
- Formtastic - A Rails form builder plugin with semantically rich and accessible markup.
- Rails Bootstrap Forms - Rails form builder that makes it super easy to create beautiful-looking forms with Twitter Bootstrap 3+.
- Simple Form - Rails forms made easy.
- Nested Forms:
- ActiveForm - Provides an object-oriented approach to represent your forms by building a Form Object which deals with create/update actions of nested objects in a more seamless way.
- Cocoon - Dynamic nested forms using jQuery made easy; works with formtastic, simple_form or default forms.
- Reform - Gives you a form object with validations and nested setup of models. It is completely framework-agnostic and doesn't care about your database.
- Gosu - A 2D game development library for the Ruby and C++ programming languages.
- Yeah - Practical Ruby video game framework.
- Geocoder - A complete geocoding solution for Ruby. With Rails it adds geocoding (by street or IP address), reverse geocoding (find street address based on given coordinates), and distance queries.
- geoip - Searches a GeoIP database for a given host or IP address, and returns information about the country where the IP address is allocated, and the city, ISP and other information.
- Geokit - Geokit gem provides geocoding and distance/heading calculations.
- Google Maps for Rails - Enables easy Google map + overlays creation in Ruby apps.
- ginatra - A web frontend for Git repositories.
- git-auto-bisect - Find the commit that broke master.
- git-spelunk - Dig through git blame history.
- git-up - Fetch and rebase all locally-tracked remote branches.
- git-whence - Find which merge a commit came from.
- hub - A command line tool that wraps Git in order to extend it with extra features and commands that make working with GitHub easier.
- Rugged - Ruby bindings to libgit2.
- qtbindings - Allows the QT Gui toolkit to be used from Ruby.
- RubyGnome2 - Ruby language bindings for the GNOME 2.0 development environment.
- Shoes - Shoes makes building little graphical programs for Mac, Windows, and Linux super simple.
- HappyMapper - Object to XML mapping library, using Nokogiri.
- Nokogiri - An HTML, XML, SAX, and Reader parser with XPath and CSS selector support.
- Oga - An XML/HTML parser written in Ruby. Oga does not require system libraries such as libxml, making it easier and faster to install on various platforms.
- ROXML - Custom mapping and bidirectional marshalling between Ruby and XML using annotation-style class methods, via Nokogiri or LibXML.
- excon - Usable, fast, simple Ruby HTTP 1.1. It works great as a general HTTP(s) client and is particularly well suited to usage in API clients.
- Faraday - an HTTP client lib that provides a common interface over many adapters (such as Net::HTTP) and embraces the concept of Rack middleware when processing the request/response cycle.
- Http Client - Gives something like the functionality of libwww-perl (LWP) in Ruby.
- http - The HTTP Gem: a simple Ruby DSL for making HTTP requests.
- httparty - Makes http fun again!
- Patron - Patron is a Ruby HTTP client library based on libcurl.
- RESTClient - Simple HTTP and REST client for Ruby, inspired by microframework syntax for specifying actions.
- Savon - Savon is a SOAP client for the Ruby programming language.
- Sawyer - Secret user agent of HTTP, built on top of Faraday.
- Spyke - Interact with REST services in an ActiveRecord-like manner.
- Typhoeus - Typhoeus wraps libcurl in order to make fast and reliable requests.
- MiniMagick - A ruby wrapper for ImageMagick or GraphicsMagick command line.
- Phasion - Ruby wrapper around pHash, the perceptual hash library for detecting duplicate multimedia files.
- PSD.rb - Parse Photoshop files in Ruby with ease.
- RMagick - RMagick is an interface between Ruby and ImageMagick.
- Skeptick - Skeptick is an all-purpose DSL for building and running ImageMagick commands.
- FastGettext - Ruby internationalization tool with less memory, simple, clean namespace and threadsafe.
- Globalize - Globalize builds on the I18n API in Ruby on Rails to add model translations to ActiveRecord models.
- i18n-tasks - Manage missing and unused translations with the awesome power of static analysis.
- i18n - Ruby Internationalization and localization solution.
- r18n - Advanced i18n library for Rails, Sinatra, desktop apps, models, works well with complex languages like Russian.
- twitter-cldr-rb - Ruby implementation of the ICU (International Components for Unicode) that uses the Common Locale Data Repository to format dates, plurals, and more.
- Cabin - Structured+contextual logging experiments in Ruby.
- Fluentd - Fluentd collects events from various data sources and writes them to files, database or other types of storages.
- HttpLog - Log outgoing HTTP requests.
- Log4r - Log4r is a comprehensive and flexible logging library for use in Ruby programs.
- Logging - A flexible logging library for use in Ruby programs based on the design of Java's log4j library.
- Lograge - An attempt to tame Rails' default policy to log everything.
- MongoDB Logger - MongoDB logger for Rails.
- Scrolls - Simple logging.
- Yell - Your Extensible Logging Library.
- PredictionIO Ruby SDK - The PredictionIO Ruby SDK provides a convenient API to quickly record your users' behavior and retrieve personalized predictions for them.
- rb-libsvm - Ruby language bindings for LIBSVM. SVM is a machine learning and classification algorithm.
- ruby-band - Machine learning and data mining algorithms for JRuby.
- Ruby Datumbox Wrapper - It's a simple Ruby Datumbox Wrapper. At the moment the API currently allows you to build applications that make use of machine learning algorithms.
- kramdown - Kramdown is yet-another-markdown-parser but fast, pure Ruby, using a strict syntax definition and supporting several common extensions.
- Maruku - A pure-Ruby Markdown-superset interpreter.
- Redcarpet - A fast, safe and extensible Markdown to (X)HTML parser.
- auto_html - Rails extension for transforming URLs to appropriate resource (image, link, YouTube, Vimeo video...)
- AXLSX - An excel xlsx generation library.
- Betty - Friendly English-like interface for your command line. Don't remember a command? Ask Betty.
- Foreman - Manage Procfile-based applications.
- Gollum - A simple, Git-powered wiki with a sweet API and local frontend.
- gon - If you need to send some data to your js files and you don't want to do this with long way through views and parsing - use gon.
- Guard - A command line tool to easily handle events on file system modifications.
- JsonCompare - Returns the difference between two JSON files.
- play ► - Your company's dj.
- Pry Debugger - Pry navigation commands via debugger (formerly ruby-debug).
- Pry - A powerful alternative to the standard IRB shell for Ruby.
- pygments.rb - A Ruby wrapper for the Python pygments syntax highlighter.
- RubyDNS - A high-performance DNS server which can be easily integrated into other projects or used as a stand-alone daemon.
- Ruby Operators - A webpage showing awesome names for different Ruby operators.
- Termit - Google Translate with speech synthesis in your terminal.
- Treetop - PEG (Parsing Expression Grammar) parser.
- Yomu - Read text and metadata from files and documents (.doc, .docx, .pages, .odt, .rtf, .pdf).
- Deliver - Continuous Deployment for iOS. Deploy screenshots, app metadata and app updates to the App Store using just one command.
- Ruboto - A platform for developing full stand-alone apps for Android using the Ruby language and libraries.
- RubyMotion - A revolutionary toolchain that lets you quickly develop and test full-fledged native iOS and OS X applications for iPhone, iPad, Mac and Android (beta).
- eu_central_bank - A gem that calculates the exchange rate using published rates from European Central Bank.
- Monetize - A library for converting various objects into Money objects.
- Money - A Ruby Library for dealing with money and currency conversion.
- Text - A collection of text algorithms including Levenshtein distance, Metaphone, Soundex 2, Porter stemming & White similarity.
- Treat - Treat is a toolkit for natural language processing and computational linguistics in Ruby.
- Breadcrumbs on Rails - A simple Ruby on Rails plugin for creating and managing a breadcrumb navigation for a Rails project.
- Gretel - A Ruby on Rails plugin that makes it easy yet flexible to create breadcrumbs.
- loaf - Manages and displays breadcrumb trails in Rails app - lean & mean.
- Simple Navigation - A ruby gem for creating navigation (html list, link list or breadcrumbs with multiple levels) for your Rails 2, 3 & 4, Sinatra or Padrino.
- ActiveRecord - Object-relational mapping in Rails.
- DataMapper - ORM which works well with legacy databases. Last release (1.2.0) was on 13 October 2011.
- Guacamole - An ODM for ArangoDB.
- Mongoid - An ODM (Object-Document-Mapper) framework for MongoDB in Ruby.
- MongoMapper - A Ruby Object Mapper for Mongo.
- MongoModel - Ruby ODM for interfacing with MongoDB databases.
- Ohm - Object-hash mapping library for Redis.
- Perpetuity - Persistence gem for Ruby objects using the Data Mapper pattern.
- ROM - Ruby Object Mapper (ROM) is an experimental Ruby library with the goal to provide powerful object mapping capabilities without limiting the full power of your datastore.
- Sequel - Sequel is a simple, flexible, and powerful SQL database access toolkit for Ruby.
- Auditing
- ActsAsParanoid - ActiveRecord plugin allowing you to hide and restore records without actually deleting them.
- Audited - Audited is an ORM extension for ActiveRecord & MongoMapper that logs all changes to your models.
- Destroyed At - Allows you to "destroy" an object without deleting the record or associated records.
- Espinita - Audit activerecord models like a boss.
- mongoid-history - Multi-user non-linear history tracking, auditing, undo, redo for mongoid.
- PaperTrail - Track changes to your ActiveRecord models' data for auditing or versioning.
- Paranoia - A re-implementation of acts_as_paranoid for Rails 3 and 4, using much, much, much less code.
- PermenantRecords - Soft-delete your ActiveRecord records, like an explicit version of ActsAsParanoid.
- Import
- ActiveImporter - Define importers that load tabular data from spreadsheets or CSV files into any ActiveRecord-like ORM.
- data_miner - Download, pull out of a ZIP/TAR/GZ/BZ2 archive, parse, correct, and import XLS, ODS, XML, CSV, HTML, etc. into your ActiveRecord models.
- ferry - A ruby gem for easy data transfer.
- Misc
- ActiveRecord::Turntable - A database sharding extension for ActiveRecord.
- ActiveValidators - An exhaustive collection of off-the-shelf and tested ActiveModel/ActiveRecord validations.
- Enumerize - Enumerated attributes with I18n and ActiveRecord/Mongoid/MongoMapper support.
- mini_record - ActiveRecord meets DataMapper, with MiniRecord you are be able to write schema inside your models.
- Multi-tenancy
- Acts As Tennant - Add multi-tenancy to a Rails app through a shared database strategy.
- Apartment - Multi-tenancy for Rails and ActiveRecord.
- Social
- Acts As Commentable - Provides a single Comment model that can be attached to any model(s) within your app.
- Acts As Commentable with Threading - Similar to acts_as_commentable; however, utilizes awesome_nested_set to provide threaded comments.
- acts_as_follower - Allow any ActiveRecord model to follow any other model.
- ActiveRecord Reputation System - An Active Record Reputation System for Rails.
- ActsAsTaggableOn - A tagging plugin for ActiveRecord that allows for custom tagging along dynamic contexts.
- Acts As Votable - Allow any ActiveRecord model to be voted on, like/dislike, upvote/downvote, etc.
- Merit - Adds reputation behavior to Rails apps in the form of Badges, Points, and Rankings for ActiveRecord or Mongoid.
- Unread - Manage read/unread status of ActiveRecord objects - and it's fast.
- Sorting
- ActsAsList - Provides the capabilities for sorting and reordering a number of objects in a list.
- ranked-model - A modern row sorting library for ActiveRecord. It uses ARel aggressively and is better optimized than most other libraries.
- Tree
- ActsAsTree - Extends ActiveRecord to add simple support for organizing items into parent–children relationships.
- Ancestry - Organise ActiveRecord model into a tree structure using a variation on the materialised path pattern.
- Awesome Nested Set - Awesome Nested Set is an implementation of the nested set pattern for ActiveRecord models.
- Closure Tree - Easily and efficiently make your ActiveRecord models support hierarchies using a Closure Table.
- Mongoid Tree - A tree structure for Mongoid documents using the materialized path pattern.
- Gems
- Packages and Applications
- Berkshelf - A Chef Cookbook manager.
- CocoaPods - The Objective-C dependency manager.
- fpm - Effing package management! Build packages for multiple platforms (deb, rpm, etc) with great ease and sanity.
- Homebrew-cask - A CLI workflow for the administration of Mac applications distributed as binaries.
- Homebrew - The missing package manager for OS X.
- Kaminari - A Scope & Engine based, clean, powerful, customizable and sophisticated paginator for modern web app frameworks and ORMs.
- order_query - A keyset pagination library to find the next or previous record(s) relative to the current one efficiently, e.g. for infinite scroll.
- will_paginate - A pagination library that integrates with Ruby on Rails, Sinatra, Merb, DataMapper and Sequel.
- Gimli - Utility for converting markup files to pdf files.
- Kitabu - A framework for creating e-books from Markdown/Textile text markup using Ruby.
- Pdfkit - HTML+CSS to PDF using wkhtmltopdf.
- Prawn - Fast, Nimble PDF Writer for Ruby.
- RGhost - RGhost is a document creation and conversion API.
- Shrimp - A phantomjs based pdf renderer.
- Wicked Pdf - PDF generator (from HTML) plugin for Ruby on Rails.
- Wisepdf - Wkhtmltopdf wrapper done right.
- New Relic - Find and fix Ruby errors with New Relic application monitoring and troubleshooting.
- Skylight - A smart profiler for your Rails apps that visualizes request performance.
- TraceView - Full-stack application tracing and brilliant data visualization to build faster, more reliable web apps.
- Bluepill - Simple process monitoring tool.
- Eye — Process monitoring tool. Inspired from Bluepill and God.
- God - An easy to configure, easy to extend monitoring framework written in Ruby.
- childprocess - Cross-platform ruby library for managing child processes.
- forkoff - brain-dead simple parallel processing for ruby.
- Parallel - Run any code in parallel Processes (> use all CPUs) or Threads (> speedup blocking operations). Best suited for map-reduce or e.g. parallel downloads/uploads.
- posix-spawn - Fast Process::spawn for Rubys >= 1.8.7 based on the posix_spawn() system interfaces.
- benchmark-ips - Provides iteration per second benchmarking for Ruby.
- bullet - Help to kill N+1 queries and unused eager loading.
- Peek - Visual status bar showing Rails performance.
- perftools.rb - gperftools (formerly known as google-perftools) for Ruby code.
- rack-mini-profiler - Profiler for your development and production Ruby rack apps.
- Rbkit - profiler for Ruby. With a GUI.
- ruby-prof - A code profiler for MRI rubies.
- active_job - Declare job classes that can be run by a variety of queueing backends.
- Delayed::Job - Database backed asynchronous priority queue.
- Resque - A Redis-backed Ruby library for creating background jobs.
- Que - A Ruby job queue that uses PostgreSQL's advisory locks for speed and reliability.
- Sidekiq - A full-featured background processing framework for Ruby. It aims to be simple to integrate with any modern Rails application and much higher performance than other existing solutions.
- Sucker Punch - A single process background processing library using Celluloid. Aimed to be Sidekiq's little brother.
- Bootstrappers - Bootstrappers generates a base Rails app using Bootstrap template and other goodies.
- Hobo - The web app builder for Rails.
- orats - Opinionated rails application templates.
- Rails Composer - The Rails generator on steroids for starter apps.
- RailsBricks - Boost your Rails development productivity.
- Raygun - Builds applications with the common customization stuff already done.
- Suspenders - Suspenders is the base Rails application used at thoughtbot.
- Artoo - Next generation robotics framework with support for different platforms: Arduino, Leap Motion, Pebble, Raspberry Pi, etc.
- Feed normalizer - Extensible Ruby wrapper for Atom and RSS parsers.
- Feedjira - A feed fetching and parsing library.
- Ratom - A fast, libxml based, Ruby Atom library.
- Simple rss - A simple, flexible, extensible, and liberal RSS and Atom reader.
- Clockwork - Clockwork is a cron replacement. It runs as a lightweight, long-running Ruby process which sits alongside your web processes (Mongrel/Thin) and your worker processes (DJ/Resque/Minion/Stalker) to schedule recurring work at particular times or dates.
- resque-scheduler - A light-weight job scheduling system built on top of Resque.
- rufus-scheduler - Job scheduler for Ruby (at, cron, in and every jobs).
- Whenever - A Ruby gem that provides a clear syntax for writing and deploying cron jobs.
- Artificial intelligence
- Bindings
- ruby-opencv - An OpenCV wrapper for Ruby.
- Classifiers
- classifier-reborn - An active fork of Classifier, and general module to allow Bayesian and other types of classifications.
- stuff-classifier - A library for classifying text into multiple categories.
- Numerical arrays
- SciRuby - Tools for scientific computation in Ruby/Rails.
- statsample - A suite for basic and advanced statistics on Ruby.
- statsample-timeseries - Bioruby Statsample TimeSeries.
- statsample-glm - Generalized Linear Models extension for Statsample.
- distribution - Statistical Distributions multi library wrapper.
- integration - Numerical integration methods, based on original work by Beng.
- minimization - Minimization algorithms on pure Ruby.
- publisci - A toolkit for publishing scientific results to the semantic web.
- plotrb - A plotting library in Ruby built on top of Vega and D3.
- rb-gsl - A ruby interface to GNU Scientific library, with NMatrix support.
- Specific
- BioRuby - Library for developing bioinformatics software.
- bloomfilter-rb - BloomFilter(s) in Ruby: Native counting filter + Redis counting/non-counting filters.
- decisiontree - A ruby library which implements ID3 (information gain) algorithm for decision tree learning.
- Utilities
- smarter_csv - Ruby Gem for smarter importing of CSV Files as Array(s) of Hashes.
- algorithms - Library with documentation on when to use a particular structure/algorithm.
- attr_searchable - Search engine like fulltext query support for ActiveRecord.
- elasticsearch-ruby - Ruby integrations for Elasticsearch.
- has_scope - Has scope allows you to easily create controller filters based on your resources named scopes.
- Mongoid Search - Simple full text search implementation for Mongoid.
- pg_search - Builds ActiveRecord named scopes that take advantage of PostgreSQL's full text search.
- ransack - Object-based searching.
- Rroonga - The Ruby bindings of Groonga.
- SearchCop - Extends your ActiveRecord models to support fulltext search engine like queries via simple query strings and hash-based queries.
- Searchkick - Searchkick learns what your users are looking for. As more people search, it gets smarter and the results get better. It’s friendly for developers - and magical for your users.
- Searchlogic - Object based searching, common named scopes, and other useful named scope tools for ActiveRecord.
- Sunspot - A Ruby library for expressive, powerful interaction with the Solr search engine.
- textacular - Exposes full text search capabilities from PostgreSQL, and allows you to declare full text indexes. Textacular extends ActiveRecord with named_scope methods making searching easy and fun!
- Thinking Sphinx - A library for connecting ActiveRecord to the Sphinx full-text search tool.
##Security
- bundler-audit - Patch-level security verification for Bundler.
- Gitrob - Reconnaissance tool for GitHub organizations.
- Metasploit - World's most used penetration testing software.
- RbNaCl - Ruby binding to the Networking and Cryptography (NaCl) library.
- SecureHeaders - Automatically apply several headers that are related to security, including: Content Security Policy (CSP), HTTP Strict Transport Security (HSTS), X-Frame-Options (XFO), X-XSS-Protection, X-Content-Type-Options, X-Download-Options & X-Permitted-Cross-Domain-Policies.
- FriendlyId - The "Swiss Army bulldozer" of slugging and permalink plugins for Active Record.
- MetaTags - A gem to make your Rails application SEO-friendly.
- SitemapGenerator - A framework-agnostic XML Sitemap generator written in Ruby.
- Campo - Campo is a lightweight forum application, base on Ruby on Rails.
- diaspora* - A privacy aware, distributed, open source social network.
- Discourse - A platform for community discussion. Free, open, simple.
- Forem - Rails 3 and Rails 4 forum engine.
- Mailboxer - A private message system for Rails applications.
- Social Shares - A gem to check how many times url was shared in social networks.
- AASM - State machines for Ruby classes (plain Ruby, Rails Active Record, Mongoid).
- FiniteMachine - A plain Ruby state machine with a straightforward and expressive syntax.
- simple_states - A super-slim statemachine-like support library.
- Statesman - A statesmanlike state machine library.
- transitions — A ruby state machine implementatio.
- Workflow - A finite-state-machine-inspired API for modeling and interacting with what we tend to refer to as 'workflow'.
- High Voltage - Easily include static pages in your Rails app.
- Jekyll - Transform your plain text into static websites and blogs.
- Middleman - A static site generator using all the shortcuts and tools in modern web development.
- Nanoc - A static site generator, fit for building anything from a small personal blog to a large corporate web site.
- Curly - A template language that completely separates structure and logic.
- Haml - HTML Abstraction Markup Language.
- Liquid - Safe, customer facing template language for flexible web apps.
- Mustache - Logic-less Ruby templates.
- Slim - A template language whose goal is reduce the syntax to the essential parts without becoming cryptic.
- Tilt - Generic interface to multiple Ruby template engines.
- Frameworks
- RSpec - Behaviour Driven Development for Ruby.
- Formatters
- Emoji-RSpec - Custom Emoji Formatters for RSpec.
- Fuubar - The instafailing RSpec progress bar formatter.
- Nyan Cat - Nyan Cat inspired RSpec formatter!
- Formatters
- Bacon - A small RSpec clone.
- Capybara - Acceptance test framework for web applications.
- Cucumber - BDD that talks to domain experts first and code second.
- Cutest - Isolated tests in Ruby.
- Konacha - Test your Rails application's JavaScript with the mocha test framework and chai assertion library.
- minitest - minitest provides a complete suite of testing facilities supporting TDD, BDD, mocking, and benchmarking.
- RR - A test double framework that features a rich selection of double techniques and a terse syntax.
- shoulda-matchers - Provides Test::Unit- and RSpec-compatible one-liners that test common Rails functionality. These tests would otherwise be much longer, more complex, and error-prone.
- Spinach - Spinach is a high-level BDD framework that leverages the expressive Gherkin language (used by Cucumber) to help you define executable specifications of your application or library's acceptance criteria.
- Spork - A DRb server for testing frameworks (RSpec / Cucumber currently).
- Test::Unit - Test::Unit is a xUnit family unit testing framework for Ruby.
- RSpec - Behaviour Driven Development for Ruby.
- Fake Data
- Fabrication - A simple and powerful object generation library.
- factory_girl - A library for setting up Ruby objects as test data.
- Fake Person - Uses some of the most popular given & surnames in the US & UK.
- faker - A library for generating fake data such as names, addresses, and phone numbers.
- ffaker - A faster Faker, generates dummy data, rewrite of faker.
- Forgery - Easy and customizable generation of forged data.
- Machinist - Fixtures aren't fun. Machinist is.
- Mock
- ActiveMocker - Generate mocks from ActiveRecord models for unit tests that run fast because they don’t need to load Rails or a database.
- TestXml - TestXml is a small extension for testing XML/HTML.
- WebMock - Library for stubbing and setting expectations on HTTP requests.
- WebDrivers
- Selenium WebDriver - This gem provides Ruby bindings for WebDriver.
- API Taster - A quick and easy way to visually test your Rails application's API.
- Watir - Web application testing in Ruby.
- Extra
- Appraisal - Appraisal integrates with bundler and rake to test your library against different versions of dependencies.
- Parallel Tests - Speedup Test::Unit + RSpec + Cucumber by running parallel on multiple CPUs (or cores).
- Ruby-JMeter - A Ruby based DSL for building JMeter test plans.
- Spring - Preloads your rails environment in the background for faster testing and Rake tasks.
- timecop - Provides "time travel" and "time freezing" capabilities, making it dead simple to test time-dependent code.
- vcr - Record your test suite's HTTP interactions and replay them during future test runs for fast, deterministic, accurate tests.
- Zapata - Who has time to write tests? This is a revolutionary tool to make them write themselves.
- databasedotcom - Ruby client for the Salesforce's Database.com and Chatter APIs.
- Dropbox - Dropbox API Ruby Client.
- facy - Command line power tool for facebook.
- fb_graph - A full-stack Facebook Graph API wrapper.
- flickr - A Ruby interface to the Flickr API.
- gitlab - Ruby wrapper and CLI for the GitLab API.
- gmail - A Rubyesque interface to Gmail, with all the tools you'll need.
- hipchat-rb - HipChat HTTP API Wrapper in Ruby with Capistrano hooks.
- instagram-ruby-gem - The official gem for the Instagram REST and Search APIs.
- itunes_store_transporter - Ruby wrapper around Apple's iTMSTransporter program.
- linkedin - Provides an easy-to-use wrapper for LinkedIn's REST APIs.
- Octokit - Ruby toolkit for the GitHub API.
- Pusher - Ruby server library for the Pusher API.
- ruby-gmail - A Rubyesque interface to Gmail.
- ruby-trello - Implementation of the Trello API for Ruby.
- soundcloud-ruby - Official SoundCloud API Wrapper for Ruby.
- t - A command-line power tool for Twitter.
- tweetstream - A simple library for consuming Twitter's Streaming API.
- twilio-ruby - A module for using the Twilio REST API and generating valid TwiML.
- twitter - A Ruby interface to the Twitter API.
- wikipedia - Ruby client for the Wikipedia API.
- youtube_it - An object-oriented Ruby wrapper for the YouTube GData API.
- Yt - An object-oriented Ruby client for YouTube API V3.
- Streamio FFMPEG - Simple yet powerful wrapper around the ffmpeg command for reading metadata and transcoding movies.
- anemone - Ruby library and CLI for crawling websites.
- LinkThumbnailer - Ruby gem that generates thumbnail images and videos from a given URL. Much like popular social website with link preview.
- Mechanize - Mechanize is a ruby library that makes automated web interaction easy.
- MetaInspector - Ruby gem for web scraping purposes.
- Upton - A batteries-included framework for easy web-scraping.
- Wombat - Web scraper with an elegant DSL that parses structured data from web pages.
- Camping - A web microframework which consistently stays at less than 4kB of code.
- Cuba - A microframework for web development.
- Lotus - It aims to bring back Object Oriented Programming to web development, leveraging on a stable API, a minimal DSL, and plain objects.
- Padrino - A full-stack ruby framework built upon Sinatra.
- Pakyow - A framework for building modern web-apps in Ruby. It helps you build working software faster with a development process that remains friendly to both designers and developers.
- Ramaze - A simple, light and modular open-source web application framework written in Ruby.
- Roda - A routing tree web framework.
- Ruby on Rails - A web-application framework that includes everything needed to create database-backed web applications according to the Model-View-Controller (MVC) pattern.
- Sinatra - Classy web-development dressed in a DSL.
- Volt - A Ruby web framework where your ruby code runs on both the server and the client.
- Goliath - A non-blocking Ruby web server framework.
- Phusion Passenger - Fast and robust web server and application server.
- Puma - A modern, concurrent web server for Ruby.
- Rack - A common Ruby web server interface. By itself, it's just a specification and utility library, but all Ruby web servers implement this interface.
- Reel - Celluloid::IO-powered web server.
- Thin - Tiny, fast & funny HTTP server.
- TorqueBox - A Ruby application server built on JBoss AS7 and JRuby.
- Unicorn - Rack HTTP server for fast clients and Unix.
- Faye - A set of tools for simple publish-subscribe messaging between web clients.
- Firehose - Build realtime Ruby web applications.
- Rails Realtime - Adding Real-Time To Your RESTful Rails App.
- Slanger - Open Pusher implementation compatible with Pusher libraries.
- Sync - Real-time Rails Partials.
- Websocket-Rails - Creates a built in WebSocket server inside a Rails application with ease, and also support streaming HTTP.
- AppSignal - Better monitoring for your Rails applications.
- CodeClimate - Quality & security analysis for Ruby on Rails and Javascript.
- Gemnasium - Monitor your project dependencies and alert you about updates and security vulnerabilities.
- GitHub - Powerful collaboration, code review, and code management for open source and private projects.
- Gitlab CI - Integrate with your GitLab to run tests for your projects.
- GitLab - Open source software to collaborate on code.
- Hakiri - Ship Secure Ruby Apps.
- Honeybadger - Exception, uptime, and performance monitoring for Ruby.
- HoundCI - Review your Ruby code for style guide violations.
- HuBoard - Kanban board for GitHub issues.
- Inch CI - Documentation badges for Ruby projects.
- Omniref - A comprehensive Ruby documentation site.
- PullReview - Automated code review for Ruby and Rails - from style to security.
- Traveling Ruby - Traveling Ruby lets you create self-contained Ruby app packages for Linux and OS X.
- Travis CI.com - Take care of running your tests and deploying your private apps.
- Travis CI.org - A distributed build system for the open source community.
- GemBundle - A place to discover new Ruby Gems.
- GitHub Trending - Find what repositories the GitHub community is most excited about today.
- Green Ruby News - A feed of fresh links of the week about ruby, javascript, webdev and devops.
- Practicing Ruby - Delightful lessons for dedicated programmers.
- Ruby5 - The latest news in the Ruby and Rails community.
- Ruby Bookmarks - Ruby and Ruby on Rails bookmarks collection.
- RubyDaily - Community driven news.
- RubyFlow - Ruby Programming Community Link Blog.
- Ruby Weekly - A free, once–weekly e-mail round-up of Ruby news and articles.
- The Ruby Toolbox - A comprehensive catalog of Ruby and Rails plug-ins, gems, tools and resources for Ruby developers with popularity ratings based on GitHub watchers and Gem downloads.
Other amazingly awesome lists can be found in the awesome-awesomeness list.