awesome-ruby

A collection of awesome Ruby libraries, tools, frameworks and software

Awesome Ruby

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!

Abstraction

  • ActiveInteraction - Manage application specific business logic.
  • Cells - View Components for Rails
  • 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.

Admin Interface

  • 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

Analytics

  • Ahoy - A solid foundation to track visits and events in Ruby, JavaScript, and native apps
  • 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

API Builder

  • 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

Assets

  • 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:

Authentication and OAuth

  • Authlogic
  • 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

Authorization

  • Authority ORM-neutral way to authorize actions in your Rails app.
  • CanCanCan
  • Pundit - Minimal authorization through OO design and pure Ruby classes

Caching

CLI Builder

  • 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

CMS

  • Alchemy CMS - A powerful, userfriendly and flexible Open Source Rails CMS
  • 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

Code Analysis and Metrics

  • 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.

Coding Style Guides

Concurrency

  • 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

Configuration

  • 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

Core Extensions

  • 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

Country Data

  • 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

Dashboards

  • Dashing-Rails - The exceptionally handsome dashboard framework for Rails.

Data Visualization

  • RailRoady - Ruby on Rails 34 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

Database Drivers

  • 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

Database Tools

  • 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.

Date and Time Processing

  • business_time - Support for doing time math in business hours and days
  • Chronic - A natural language date/time parser written in pure Ruby
  • groupdate - The simplest way to group temporal data in ActiveRecord, arrays and hashes
  • time-lord - Adds extra functionality to the time class
  • time_diff - Calculates the difference between two time
  • validates_timeliness - Date and time validation plugin for ActiveModel and Rails
  • yymmdd - Tiny DSL for idiomatic date parsing and formatting

Debugging Tools

  • 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.

Decorators

  • Draper - Draper adds an object-oriented layer of presentation logic to your Rails application

DevOps Tools

  • 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

Documentation

  • Asciidoctor - A fast, Ruby-based text processor & publishing toolchain for converting AsciiDoc to HTML5, DocBook, EPUB3, PDF & more.
  • 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

E-Commerce and Payments

  • Active Merchant - A simple payment abstraction library extracted from Shopify
  • Paypal Merchant SDK - Official Paypal Merchant SDK for Ruby
  • Piggybak - Modular, Extensible open-source ecommerce solution for Ruby on Rails
  • ROR Ecommerce
  • Shoppe - A Rails-based e-commerce platform which allows you to easily introduce a catalogue-based store into your Rails 4 applications
  • Spree
  • stripe-ruby - Stripe Ruby bindings

Ebook

  • 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

Email

  • 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

Environment Management

  • 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

Error Handling

  • 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.

File Upload

  • 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

Form Builder

  • 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

Game Development

  • Gosu - A 2D game development library for the Ruby and C++ programming languages
  • Yeah - Practical Ruby video game framework

Geolocation

  • 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 Tools

  • 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

GUI

HTML/XML Parsing

  • 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.

HTTP

  • 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
  • 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
  • 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

Imagery

  • 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.

Internationalization

  • 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

Logging

  • 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

Machine Learning

  • PredictionIO Ruby SDK - The PredictionIO Ruby SDK provides a convenient API to quickly record your users’ behavior and retrieve personalized predictions for them
  • 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.

Markdown Processors

  • 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

Misc

  • AASM - A library for adding finite state machines to Ruby classes
  • 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
  • Treetop - PEG (Parsing Expression Grammar) parser
  • Yomu - Read text and metadata from files and documents (.doc, .docx, .pages, .odt, .rtf, .pdf)

Mobile Development

  • 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

Money

  • 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

Natural Language Processing

  • Treat - Treat is a toolkit for natural language processing and computational linguistics in Ruby

ORM/ODM

  • ActiveRecord
  • 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
  • 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

ORM/ODM Extensions

  • Mongoid Tree - A tree structure for Mongoid documents using the materialized path pattern

Package Management

  • Gems
    • Bundler - Manage your application’s gem dependencies with less pain
    • RubyGems - Community’s gem hosting service
  • 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

Pagination

  • Kaminari - A Scope & Engine based, clean, powerful, customizable and sophisticated paginator for modern web app frameworks and ORMs
  • will_paginate - A pagination library that integrates with Ruby on Rails, Sinatra, Merb, DataMapper and Sequel

PDF

  • 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

Process Monitoring

  • Bluepill - Simple process monitoring tool
  • God - An easy to configure, easy to extend monitoring framework written in Ruby

Processes and Threads

  • 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

Profiler

  • 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

Queue

  • 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.

Robotics

  • Artoo - Next generation robotics framework with support for different platforms: Arduino, Leap Motion, Pebble, Raspberry Pi, etc.

RSS

  • 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.

Scheduling

  • 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

Search

  • attr_searchable - Search engine like fulltext query support for ActiveRecord
  • elasticsearch-ruby
  • 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

SEO

  • 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

Social Networking

  • 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

State Machines

  • 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’

Static Site Generation

  • 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

Template Engine

  • 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

Testing

  • 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!
    • 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
  • Fake Data
    • Fabrication - A simple and powerful object generation library
    • factory_girl - A library for setting up Ruby objects as test data
    • 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
  • 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

Third-party APIs

  • 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

Video

  • Streamio FFMPEG - Simple yet powerful wrapper around the ffmpeg command for reading metadata and transcoding movies

Web Crawling

  • 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. It scrapes a given URL, and returns you its title, meta description, meta keywords, an array with all the links, all the images in it, etc.
  • Upton - A batteries-included framework for easy web-scraping. Just add CSS! (Or do more.)
  • Wombat - Web scraper with an elegant DSL that parses structured data from web pages

Web Frameworks

  • 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

Web Servers

  • 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

WebSocket

  • Faye - A set of tools for simple publish-subscribe messaging between web clients. It ships with easy-to-use message routing servers for Node.js and Rack applications, and clients that can be used on the server and in the browser.
  • 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. Also support streaming HTTP

Services and Apps

  • 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.

Resources

  • GemBundle - A place to discover new Ruby Gems
  • GitHub Explore
  • 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 Awesome Lists

Other amazingly awesome lists can be found in the awesome-awesomeness list.

Related Repositories

awesome-ruby

awesome-ruby

:gem: A collection of awesome Ruby libraries, tools, frameworks and software ...

awesome-rails-gem

awesome-rails-gem

A collection of awesome Ruby Gems for Rails development. ...

awesome-ruby

awesome-ruby

A curated list of awesome Ruby frameworks, libraries and resources. Inspired by awesome-php & awesome-python. ...

awesome-events

awesome-events

A collection of awesome Ruby events (meetups, conferences, camps, etc.) from around the world ...

awesome-ruby-security

awesome-ruby-security

Awesome Ruby Security resources ...


Top Contributors

markets torokmark sshaw Erol diegoviola hernamvel NaixSpirit viktors majjoha TrevorHinesley AlexLarra fleveque pzgz LuqiPan hagenburger gottfrois tony612 RajeshReddyM AaronLasseigne abom acrogenesis bayandin alexwoll andycox anildigital antpaw brandonhilkert deadkarma avalanche123 CarlosLCervantes