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
- Admin Interface
- Analytics
- API Builder
- Assets
- Authentication and OAuth
- Authorization
- Caching
- CLI Builder
- CMS
- Code Analysis and Metrics
- Coding Style Guides
- Concurrency
- Configuration
- Core Extensions
- Country Data
- 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
- Imagery
- Internationalization
- Logging
- Machine Learning
- Markdown Processors
- Misc
- Mobile Development
- Money
- Natural Language Processing
- 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
- 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.
- 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.
- Reform - Form objects decoupled from models.
- 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.
- 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.
- Legato - Model analytics reports and queries against the official Google Analytics Reporting API.
- Staccato - Track analytics into the official Google Analytics Collection API.
- ActiveModel::Serializers - JSON serialization of objects.
- 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.
- 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:
- 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.
- Sorcery - Magical Authentication for Rails 3 and 4.
- OAuth:
- Doorkeeper - An OAuth2 provider for Rails.
- OAuth2 - A Ruby wrapper for the OAuth 2.0 protocol.
- Authority - ORM-neutral way to authorize actions in your Rails app.
- CanCanCan - Continuation of CanCan, an authorization Gem for Ruby on Rails.
- Pundit - Minimal authorization through OO design and pure Ruby classes.
- 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.
- 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.
- 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.
- Brakeman - A static analysis security vulnerability scanner for Ruby on Rails applications.
- 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.
- 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.
- 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.
- Dashing - A Sinatra based framework that lets you build beautiful dashboards.
- Dashing-Rails - The exceptionally handsome dashboard framework for Rails.
- 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.
- Database Cleaner - Database Cleaner is a set of strategies for cleaning your database in Ruby.
- PgHero - Postgres insights made easy.
- 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.
- 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.
- Draper - Draper adds an object-oriented layer of presentation logic to your Rails application.
- Backup - Provides an elegant DSL in Ruby for performing backups on UNIX-like systems.
- Capistrano - A remote server automation and deployment tool written in Ruby.
- Chef - A systems integration framework, built to bring the benefits of configuration management to your entire infrastructure.
- 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.
- 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.
- 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.
- 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.
- Mailman - An incoming mail processing microframework in Ruby.
- Pony - The express way to send mail from Ruby.
- 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.
- 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.
- 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.
- 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.
- Geokit - Geokit gem provides geocoding and distance/heading calculations.
- 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.
- 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.
- Typhoeus - Typhoeus wraps libcurl in order to make fast and reliable requests.
- MiniMagick - A ruby wrapper for ImageMagick or GraphicsMagick command line.
- 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.
- 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.
- 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.
- 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.
- Ruby Operators - A webpage showing awesome names for different Ruby operators.
- Termit - Google Translate with speech synthesis in your terminal.
- 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.
- Treetop - PEG (Parsing Expression Grammar) parser.
- Yomu - Read text and metadata from files and documents (.doc, .docx, .pages, .odt, .rtf, .pdf).
- 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 native iOS and OS X applications for iPhone, iPad and Mac.
- eu_central_bank - A gem that calculates the exchange rate using published rates from European Central Bank.
- Money - A Ruby Library for dealing with money and currency conversion.
- Treat - Treat is a toolkit for natural language processing and computational linguistics in Ruby.
- 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.
- Sequel - Sequel is a simple, flexible, and powerful SQL database access toolkit for Ruby.
- 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.
- God - An easy to configure, easy to extend monitoring framework written in 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.
- childprocess - Cross-platform ruby library for managing child processes.
- forkoff - brain-dead simple parallel processing for ruby.
- posix-spawn - Fast Process::spawn for Rubys >= 1.8.7 based on the posix_spawn() system interfaces.
- 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.
- 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.
- 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.
- 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 - A 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.
- 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.
- 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.
- 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.
- Thinking Sphinx - A library for connecting ActiveRecord to the Sphinx full-text search tool.
- 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.
- 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).
- simple_states - A super-slim statemachine-like support library.
- Statesman - A statesmanlike state machine library.
- 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.
- Watir - Web application testing in Ruby.
- Extra
- Appraisal - Appraisal integrates with bundler and rake to test your library against different versions of dependencies.
- 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.
- 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.
- 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.
- Thin - Tiny, fast & funny HTTP server.
- 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.
- 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.
- 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.
- 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.
- Ruby Weekly - A free, once–weekly e-mail round-up of Ruby news and articles.
- Ruby5 - The latest news in the Ruby and Rails community.
- RubyDaily - Community driven news.
- RubyFlow - Ruby Programming Community Link Blog.
- 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.