Skip to content

southwolf/awesome-ruby

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 

Repository files navigation

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

##A/B Testing

  • Split - Rack Based AB testing framework.
  • Vanity - an A/B testing framework for Rails that is datastore agnostic.

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

Analytics

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

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

Authentication and OAuth

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

Authorization

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

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.
  • TTY - Toolbox for developing CLI clients.

CMS

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

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

Dashboards

  • Dashing - A Sinatra based framework that lets you build beautiful dashboards.
  • Dashing-Rails - The exceptionally handsome dashboard framework for Rails.

Data Visualization

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

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 - Ruby bindings for the SQLite3 embedded database.

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

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.
  • did_you_mean - Adds class, method & attributute suggestions to error messages.

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

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

E-Commerce and Payments

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

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

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

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

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

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

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

  • FastGettext - Ruby internationalization tool with less memory, simple, clean namespace and threadsafe!
  • 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.
  • 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.

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

  • 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

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

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

ORM/ODM Extensions

  • 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.
    • PaperTrail - Track changes to your ActiveRecord models' data for auditing or versioning.
  • Social
  • 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.
    • 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.

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

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.

Performance Monitoring

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

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.

Rails Application Generators

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

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.

Scientific

  • Artificial intelligence
    • AI4R - Algorithms covering several Artificial intelligence fields.
    • ruby-fann - Ruby library for interfacing with FANN (Fast Artificial Neural Network).
  • Bindings
  • 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
    • NMatrix - Fast numerical linear algebra library for Ruby.
    • NArray - N-dimensional Numerical Array for Ruby.
    • mdarray - Multi dimensional array implemented for JRuby inspired by NumPy.
  • 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.

Search

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

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.
  • Social Shares - A gem to check how many times url was shared in social networks.

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.
    • 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
  • 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.
  • Upton - A batteries-included framework for easy web-scraping.
  • 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.
  • 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.

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 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 Awesome Lists

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

About

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

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published