Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/sdogruyol/awesome-ruby

A curated list of awesome Ruby frameworks, libraries and resources. Inspired by awesome-php & awesome-python.
https://github.com/sdogruyol/awesome-ruby

List: awesome-ruby

Last synced: 10 days ago
JSON representation

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

Awesome Lists containing this project

README

        

# Awesome Ruby

A curated list of awesome Ruby frameworks, libraries and resources. Inspired by [awesome-php](https://github.com/ziadoz/awesome-php) & [awesome-python](https://github.com/vinta/awesome-python).

## Contribution

Your Pull requests are welcome! Let's make this the awesomest resource for Ruby :purple_heart:
| Resources| | |
| ------------- | ------------- | -------- |
|- [Awesome Ruby](#awesome-ruby) | - [Admin Panels](#admin-panels)|- [Anti-spam](#anti-spam) |
| - [Asset Management](#asset-management) | - [Audio](#audio) | - [Auditing](#auditing) |
|- [Authentication and OAuth](#authentication-and-oauth) |- [Build Tools](#build-tools) |- [Caching](#caching) |
| - [Cloud Services](#cloud-services) |- [CMS](#cms) |- [Code Analysis and Linter](#code-analysis-and-linter) |
| - [Command-line Tools](#command-line-tools) | - [Configuration](#configuration) | - [CSS and Styling](#css-and-styling) |
|- [Data Validation](#data-validation) |- [Data Visualization](#data-visualization) |- [Database Drivers](#database-drivers) |
|- [Date and Time](#date-and-time) | - [Debugging Tools](#debugging-tools) |- [DevOps Tools](#devops-tools) |
|- [Distribution](#distribution) | - [Documentation](#documentation) | - [Downloader](#downloader) |
| - [E-Commerce & Online Paying](#e-commerce--online-paying) | - [E-Mail](#e-mail) |- [Environment Management](#environment-management) |
| - [File Uploading](#file-uploading) | - [Feature Flipping](#feature-flipping) | - [Foreign Function Interface](#foreign-function-interface) |
| - [Forms](#forms) | - [Game Development](#game-development) |- [Geolocation](#geolocation) |
| - [GUI](#gui) |- [High Performance](#high-performance) | - [HTML/XML/CSS Manipulation](#htmlxmlcss-manipulation) |
|- [HTTP](#http) |- [Imagery](#imagery) |- [Internationalization](#internationalization) |
| - [Logging](#logging) | - [Machine Learning](#machine-learning) |- [MapReduce](#mapreduce) |
|- [Multi-tenancy](#multi-tenancy) |- [Natural Language Processing](#natural-language-processing) | - [Networking](#networking) |
| - [ORM](#orm) |- [Package Management](#package-management) | - [Presentation Tools](#presentation-tools) |
|- [Processes and Threads](#processes-and-threads) | - [Push Notification](#push-notification) | - [Queue](#queue) |
| - [Serverless](#serverless) | - [Spreadsheets](#spreadsheets) | - [RESTful API](#restful-api) |
|- [Science and Data Analysis](#science-and-data-analysis) |- [Search](#search) | - [Site Monitoring](#site-monitoring) |
| - [Starter Apps](#starter-apps) |- [Tagging](#tagging) |- [Template Engine](#template-engine) |
| - [Testing](#testing) | - [Text Processing](#text-processing) | - [Third-party APIs](#third-party-apis) |
| - [URL Manipulation](#url-manipulation) | - [Video](#video) |- [Web Content Extracting](#web-content-extracting) |
| - [Web Crawling](#web-crawling) |- [Web Frameworks](#web-frameworks) |- [Web Servers](#web-servers) |
| - [WebSocket](#websocket) |- [Miscellaneous](#miscellaneous) |- [Editor Plugins](#editor-plugins) |
|- [Resources](#resources) | - [People to Follow](#people-to-follow) |- [Other Awesome Lists](#other-awesome-lists) |
|- [Contributing](#contributing) | | |

## Admin Panels

*Libraries for administrative interfaces.*

* [active_admin](https://github.com/activeadmin/activeadmin) The administration framework for Ruby on Rails applications
* [rails_admin](https://github.com/sferik/rails_admin) A Rails engine that provides an easy-to-use interface for managing your data
* [administrate](https://github.com/thoughtbot/administrate) A framework for creating flexible, powerful admin dashboards in Rails.

## Anti-spam

*Libraries for fighting spam.*

* [RubySpamAssassin](https://github.com/noeticpenguin/RubySpamAssassin) Kills Spam Dead. Perhaps before it's sent!

## Asset Management

*Tools for managing, compressing and minifying website assets.*

* [sprockets](https://github.com/sstephenson/sprockets) Rack-based asset packaging system
* [rails-assets](https://github.com/rails-assets/rails-assets/) is the frictionless proxy between Bundler and Bower

## Audio

* [seal](https://github.com/zhangsu/seal) A C library (with Ruby binding) for 3D audio rendering

## Auditing

*Tools for logging changes to ActiveRecord models*

* [Audited](https://github.com/collectiveidea/audited) - Audited (formerly acts_as_audited) is an ORM extension that logs all changes to your Rails models.
* [Logidze](https://github.com/palkan/logidze) - Logs model changes via database triggers (PL/SQL functions). Fastest model diffs. PostgreSQL 9.5+ only.

## Authentication and OAuth

*Libraries for implementing authentications schemes.*

* [Devise](https://github.com/plataformatec/devise) - Devise is a flexible authentication solution for Rails based on Warden
* [Omniauth](https://github.com/intridea/omniauth) - OmniAuth is a flexible authentication system utilizing Rack middleware
* [Warden](https://github.com/hassox/warden) - General Rack Authentication Framework
* [AuthLogic](https://github.com/binarylogic/authlogic) - A simple ruby authentication solution
* [Sorcery](https://github.com/NoamB/sorcery) - Magical authentication for Rails 3 & 4
* [CanCanCan](https://github.com/CanCanCommunity/cancancan) Authorization gem for Rails (continued version of CanCan from ryanb)
* [pundit](https://github.com/elabs/pundit) - Minimal authorization using object oriented design.
* [authority](https://github.com/nathanl/authority) - ORM neutral authorization.
* [doorkeeper](https://github.com/doorkeeper-gem/doorkeeper) An OAuth 2 provider for Rails
* [tiddle](https://github.com/adamniedzielski/tiddle/) - Devise strategy for token authentication in API-only Ruby on Rails applications

## Build Tools

*Compile software from source code.*

* [teapot](https://github.com/ioquatix/teapot) A decentralised build tool for managing complex cross-platform projects

## Caching

*Libraries for caching data.*

* [rack-cache](https://github.com/rtomayko/rack-cache) HTTP Caching for Ruby Web Apps
* [Dalli](https://github.com/mperham/dalli) - a high performance pure Ruby client for accessing memcached servers.

## Cloud Services

* [fog](https://github.com/fog/fog) The Ruby cloud services library
* [aws-sdk-ruby](https://github.com/aws/aws-sdk-ruby) The official AWS SDK for Ruby

## CMS

*Content management systems*

* [Refinery CMS](http://www.refinerycms.com) An extendable Ruby on Rails CMS that supports Rails 3.2 and 4.2
* [Comfortable Mexican Sofa](https://github.com/comfy/comfortable-mexican-sofa) A powerful Rails 4/5 CMS Engine
* [Browser](http://www.browsercms.org/) Humane Content Management for Rails
* [Locomotive](http://www.locomotivecms.com/) a brand new CMS system with super sexy UI and cool features
* [Radiant](http://radiantcms.org/) A no-fluff, open source content management system
* [Nesta](http://nestacms.com/) A lightweight CMS, implemented in Sinatra
* [alchemy_cms](https://github.com/AlchemyCMS/alchemy_cms) the most powerful, user friendly and flexible Rails CMS
* [weby](https://github.com/cercomp/weby) Newbie CMS in Ruby on Rails

## Code Analysis and Linter

*Libraries and tools for analyzing, parsing and manipulation codebases.*
* [sonarlint-intellij](https://github.com/SonarSource/sonarlint-intellij) - An IDE extension that helps you detect and fix quality issues as you write code.
* [Rubocop](https://github.com/bbatsov/rubocop) - A Ruby static code analyzer, based on the community Ruby style guide.
* [ruby-lint](https://github.com/YorickPeterse/ruby-lint) - ruby-lint is a static code analysis tool for Ruby
* [brakeman](https://github.com/presidentbeef/brakeman) - Static analysis tool which checks Ruby on Rails applications for security vulnerabilities
* [reek](https://github.com/troessner/reek) - Code smell detector for Ruby
* [Breezer](https://github.com/lambda2/breezer) - Lock your Gemfile dependencies to safe versions.

## Command-line Tools

*Libraries for building command-line application.*

* [Commander](http://visionmedia.github.io/commander/) - The complete solution for Ruby command-line executables
* [Thor](https://github.com/erikhuda/thor) - Thor is a toolkit for building powerful command-line interfaces

## Configuration

*Libraries for storing configuration options.*

## CSS and Styling

* [sass](https://github.com/sass/sass) A CSS preproccessor
* [sass-rails](https://github.com/rails/sass-rails) Rails stylesheet engine for Sass
* [less-rails](https://github.com/metaskills/less-rails) The dynamic stylesheet language for the Rails
* [compass](https://github.com/Compass/compass) A a Stylesheet Authoring Environment
* [bootstrap-sass](https://github.com/twbs/bootstrap-sass) Official Sass port of Bootstrap
* [foundation-rails](https://github.com/zurb/foundation-rails) Foundation for Rails
* [bootswatch-rails](https://github.com/maxim/bootswatch-rails) Bootswatches converted to SCSS ready to use in Rails
* [bourbon](https://github.com/thoughtbot/bourbon) A lightweight mixin library for Sass

## Data Validation

*Libraries for validating data. Used for forms in many cases.*

* [kangal](https://github.com/lab2023/kangal) - Extended validation gem for email, subdomain, credit card, tax number etc
* [bin_checker](https://github.com/lab2023/bin_checker) - BIN validator for Turkish Banks

## Data Visualization

*Libraries for visualizing data.*

* [prosperity](https://github.com/smathieu/prosperity) The easiest way to graph data from your Rails models

## Database Drivers

*Libraries for connecting and operating databases.*

* Relational Databases
* [ruby-pg](https://bitbucket.org/ged/ruby-pg) Ruby interface to the PostgreSQL >= 8.4
* [mysql2](https://github.com/brianmario/mysql2) A modern, simple and very fast Mysql library for Ruby
* [sqlite3-ruby](https://github.com/sparklemotion/sqlite3-ruby) Ruby bindings for the SQLite3 embedded database

* NoSQL Databases

## Date and Time

*Libraries for working with dates and times.*

* [stamp](https://github.com/jeremyw/stamp) Date and time formatting for humans
* [chronic](https://github.com/mojombo/chronic) Natural language date/time parser

## Debugging Tools

*Libraries for debugging and developing.*

* [byebug](https://github.com/deivid-rodriguez/byebug) - Debugging in Ruby 2
* [debugger](https://github.com/cldwalker/debugger) - port of ruby-debug that works on 1.9.2 and 1.9.3
* [puts_debuggerer](https://github.com/AndyObtiva/puts_debuggerer) - Debugger-less debugging FTW

## DevOps Tools

*Software and libraries for DevOps.*

* [Puppet](https://github.com/puppetlabs/puppet) - Server automation framework and application
* [Chef](https://github.com/chef/chef) - A systems integration framework, built to bring the benefits of configuration management to your entire infrastructure.
* [Vagrant](https://www.vagrantup.com/) - Vagrant is a tool for building and distributing development environments.
* [Capistrano](http://capistranorb.com/) - Remote multi-server automation tool
* [Mina](https://github.com/mina-deploy/mina) Really fast deployer and server automation tool
* [Nanobox](https://github.com/nanobox-io/nanobox) - A micro-PaaS (μPaaS) for creating consistent, isolated, Ruby environments deployable anywhere https://nanobox.io.

## Distribution

*Libraries to create packaged executables for release distribution.*

* [fpm](https://github.com/jordansissel/fpm) Building packages for multiple platforms (deb, rpm, etc) with great ease and sanity.

## Documentation

*Libraries for generating project documentation.*

* [Dictum](https://github.com/Wolox/dictum) - A tool that let's you create automatic documentation of your Rails API endpoints through your tests.
* [rdoc](https://github.com/rdoc/rdoc) HTML and online documentation for Ruby projects
* [yard](https://github.com/lsegal/yard) A Ruby Documentation tool

## Downloader

*Libraries for downloading.*

* [GitHub Starred Repos Downloader](https://github.com/LeonardoCardoso/gsrd) - gsrd downloads your public starred repos. Just in case you want to keep a backup of them from time to time.

## E-Commerce & Online Paying

* [Active Merchant](https://github.com/activemerchant/active_merchant) - A simple payment abstraction library extracted from Shopify.
* [Spree](https://github.com/spree/spree) - A complete open source e-commerce solution for Ruby on Rails.
* [Square SDK](https://github.com/square/square-ruby-sdk) - Use this gem to integrate Square payments into your app and grow your business with Square APIs including Catalog, Customers, Employees, Inventory, Labor, Locations, and Orders.
* [PayPal Merchant SDK](https://github.com/paypal/merchant-sdk-ruby) - Provides Ruby APIs for processing payments, recurring payments, subscriptions and transactions using PayPal's Merchant APIs.

## E-Mail

*Libraries for sending and parsing email.*

* [mail](https://github.com/mikel/mail) A Really Ruby Mail Library
* [mailman](https://github.com/mailman/mailman) An incoming mail processing microframework in Ruby

## Environment Management

*Libraries for Ruby version and environment management.*

* [chruby](https://github.com/postmodern/chruby) - Changes the current Ruby
* [chgems](https://github.com/postmodern/chgems) - Chroot for RubyGems
* [rvm](https://rvm.io/) - Ruby Version Manager
* [rbenv](http://rbenv.org/) - Groom your app’s Ruby environment
* [ruby-install](https://github.com/postmodern/ruby-install) - Installs Ruby, JRuby, Rubinius, MagLev or MRuby
* [ruby-build](https://github.com/sstephenson/ruby-build) - Compile and install Ruby
* [Nanobox](https://github.com/nanobox-io/nanobox) - A tool for creating isolated Ruby environments for consistency across teams and application stages (dev, staging, production, etc.) https://nanobox.io.

## Error Handling

*Libraries for exception and error handling.*

* [Exception Notification](https://github.com/smartinez87/exception_notification) - A set of notifiers for sending notifications when errors occur in a Rack/Rails application
* [Errbit](http://errbit.github.io/errbit) - The open source, self-hosted error catcher
* [Airbrake](https://github.com/airbrake/airbrake) - The official Airbrake library for Ruby on Rails (and other Rack based frameworks)
* [Better Errors](https://github.com/charliesome/better_errors) - Better error page for Rack apps

## File Uploading

*Libraries for handling file uploads.*

* [paperclip](https://github.com/thoughtbot/paperclip) Easy file attachment management for ActiveRecord
* [dragonfly](https://github.com/markevans/dragonfly) On-the-fly processing - suitable for image uploading in Rails, Sinatra and much more
* [carrierwave](https://github.com/carrierwaveuploader/carrierwave) Classier solution for file uploads for Rails, Sinatra and other Ruby web frameworks
* [attache](https://github.com/choonkeat/attache) - Yet another approach to file upload https://attache-demo.herokuapp.com

## Feature flipping

*Libraries for flipping features*

* [abstract_feature_branch](https://github.com/AndyObtiva/abstract_feature_branch) a gem that enables developers to easily branch by abstraction
* [helioth](https://github.com/gmontard/helioth) Manage feature flipping and rollout
* [flipper](https://github.com/jnunemaker/flipper) feature flipping for ANYTHING
* [flip](https://github.com/pda/flip) Flip lets you declare and manage feature flags, backed by cookies (private testing) and database (site-wide)
* [rollout](https://github.com/FetLife/rollout) Feature flippers.

## Foreign Function Interface

*Libraries for providing foreign function interface.*

## Forms

*Libraries for working with forms.*

* [simple_form](https://github.com/plataformatec/simple_form) Forms made easy for Rails
* [formtastic](https://github.com/justinfrench/formtastic) A Rails form builder plugin with semantically rich and accessible markup
* [bootstrap_form](https://github.com/bootstrap-ruby/bootstrap_form) A Rails form builder that makes it super easy to integrate Bootstrap v4-style forms into your Rails application

## Game Development

*Awesome game development libraries.*

* [Gosu](https://www.libgosu.org/) - A 2D game development library for the Ruby and C++ programming languages

## Geolocation

*Libraries for geocoding addresses and working with latitudes and longitudes.*

* [geocoder](https://github.com/alexreisner/geocoder) Complete Ruby geocoding solution
* [Geokit](https://github.com/geokit/geokit) - Geokit gem provides geocoding and distance/heading calculations.

## Git Tools

*Libraries for working with Git VCS*

* [katip](https://github.com/lab2023/katip) - Change logger for Git initialized projects

## GUI

*Libraries for working with graphical user interface applications.*

* [glimmer](https://github.com/AndyObtiva/glimmer) Ruby Desktop Development GUI Library
* [shoes](https://github.com/shoes/shoes) A tiny graphical app kit for ruby
* [shoes4](https://github.com/shoes/shoes4) the next version of Shoes

## High Performance

*Libraries for making Ruby faster.*

* [EventMachine](https://github.com/eventmachine/eventmachine) - EventMachine: fast, simple event-processing library for Ruby programs
* [Celluloid](https://celluloid.io/) - Actor-based concurrent object framework for Ruby. It has its own [awesomeness](https://github.com/sashaegorov/awesome-celluloid).

## HTML/XML/CSS Manipulation

*Libraries for working with HTML, XML & CSS.*

* [Nokogiri](http://www.nokogiri.org/)
* [loofah](https://github.com/flavorjones/loofah) A general library for manipulating and transforming HTML/XML documents and fragments

## HTTP

*Libraries for working with HTTP.*

* [httparty](https://github.com/jnunemaker/httparty) Makes http fun again!
* [faraday](https://github.com/lostisland/faraday) Simple, but flexible HTTP client library, with support for multiple backends.
* [http](https://github.com/httprb/http) A simple Ruby DSL for making HTTP requests
* [excon](https://github.com/excon/excon) Usable, fast, simple HTTP(S) 1.1 for Ruby
* [nestful](https://github.com/maccman/nestful) Simple Ruby HTTP/REST client with a sane API
* [response_code](https://github.com/torokmark/response_code) Response Code in readable way

## Imagery

*Libraries for manipulating images.*

* [rmagick](https://github.com/rmagick/rmagick) An interface to the ImageMagick and GraphicsMagick image processing libraries
* [minimagick](https://github.com/minimagick/minimagick) Minified version of rmagick
* [chunky_png](https://github.com/wvanbergen/chunky_png) Read/write access to PNG images in pure Ruby
* [image_optim](https://github.com/toy/image_optim) Optimize images using multiple utilities
* [magickly](https://github.com/afeld/magickly) image manipulation as a (plugin-able) service

## Internationalization

*Libraries for woking with i18n.*

* [i18n](https://github.com/svenfuchs/i18n) - Basic internationalization(i18n) library for Ruby
* [globalize](https://github.com/globalize/globalize) Rails I18n de-facto standard library for ActiveRecord model/data translation
* [i18n-tasks](https://github.com/glebm/i18n-tasks) Manage translations in ruby applications with the awesome power of static analysis

## Logging

*Libraries for generating and working with log files.*

* [Logstash](https://github.com/elastic/logstash) Logstash is a tool for managing events and logs.

## Machine Learning

*Libraries for Machine Learning.*

* [PredictionIO Ruby SDK](https://github.com/PredictionIO/PredictionIO-Ruby-SDK) - The PredictionIO Ruby SDK provides a convenient API to quickly record your users' behavior and retrieve personalized predictions for them
* [m2cgen](https://github.com/BayesWitnesses/m2cgen) - A CLI tool to transpile trained classic ML models into a native Ruby code with zero dependencies.

## MapReduce

*Frameworks and libraries for MapReduce.*

## Multi-tenancy

*Libraries for managing multi-tenant apps.*

* [Apartment](https://github.com/influitive/apartment) - Database multi-tenancy for Rack (and Rails) applications

## Natural Language Processing

*Libraries for working with human languages.*

* [Treat](https://github.com/louismullie/treat) - Treat is a toolkit for natural language processing and computational linguistics in Ruby

## Networking

*Libraries for network programming.*

## ORM

*Libraries that implement Object-Relational Mapping or data mapping techniques.*

* Relational Databases

* [ActiveRecord](https://www.ruby-toolbox.com/projects/activerecord) - Databases on Rails. Build a persistent domain model by mapping database tables to Ruby classes
* [DataMapper](http://datamapper.org/) - DataMapper is an Object Relational Mapper written in Ruby. The goal is to create an ORM which is fast, thread-safe and feature rich.
* [Sequel](http://sequel.jeremyevans.net/) - The Database Toolkit for Ruby

* NoSQL Databases

* [Mongoid](http://mongoid.org) - Mongoid (pronounced mann-goyd) is an Object-Document-Mapper (ODM) for MongoDB written in Ruby.
* [Ohm](https://github.com/soveran/ohm) - Object-Hash Mapping for Redis

## Package Management

*Libraries for package and dependency management.*

* [RubyGems](https://rubygems.org/) - RubyGems is a package manager for the Ruby programming language that provides a standard format for distributing Ruby programs and libraries
* [Bundler](http://bundler.io) - Bundler provides a consistent environment for Ruby projects by tracking and installing the exact gems and versions that are needed
* [Homebrew](http://brew.sh) - Homebrew installs the stuff you need that Apple didn’t
* [Homebrew Cask](http://caskroom.io/) - Cask provides a friendly homebrew-style CLI workflow for the administration of Mac applications distributed as binaries

## Pagination

* [kaminari](https://github.com/amatsuda/kaminari) A Scope & Engine based, clean, powerful, customizable and sophisticated paginator
* [will_paginate](https://github.com/mislav/will_paginate) Pagination library for Rails 3, Sinatra, Merb, DataMapper, and more
* [order_query](https://github.com/glebm/order_query) Keyset pagination to find the next or previous record(s) relative to the current one efficiently, e.g. for infinite scroll.

## PDF Processing

* [DocRaptor](https://github.com/DocRaptor/docraptor-ruby) Wrapper library for [DocRaptor's](https://docraptor.com) Ruby-based HTML-to-PDF API
* [wicked_pdf](https://github.com/mileszs/wicked_pdf) PDF generator (from HTML) plugin for Ruby on Rails
* [pdfkit](https://github.com/pdfkit/pdfkit) HTML+CSS to PDF using wkhtmltopdf
* [prawn](https://github.com/prawnpdf/prawn) Fast, Nimble PDF Writer for Ruby
* [InvoicePrinter](https://github.com/strzibny/invoice_printer) - Super simple PDF invoicing in Ruby (built on top of Prawn).

## Presentation Tools

* [rabbit](https://github.com/rabbit-shocker/rabbit) A programable presentaton tool by Ruby
* [reveal-ck](https://github.com/jedcn/reveal-ck) Reveal.js presentations with a Ruby toolset

## Processes and Threads

*Libraries for woking with processes or threads*

* [Parallel](https://github.com/grosser/parallel) - Ruby parallel processing made simple and fast

## Profiling

* [bullet](https://github.com/flyerhzm/bullet) - help to kill N+1 queries and unused eager loading

## Push Notification

* [Rpush](https://github.com/rpush/rpush) - The push notification service for Ruby.
* [apn_sender](https://github.com/arthurnn/apn_sender) - Background worker to send Apple Push Notifications over a persistent TCP socket.
* [Houston](https://github.com/nomad/houston) - A simple gem for sending Apple Push Notifications.
* [webpush](https://github.com/zaru/webpush) - Encryption Utilities for Web Push protocol

## Queue

*Libraries for working with event and task queues.*

* [Resque](https://github.com/resque/resque) A Redis-backed Ruby library for creating background jobs, placing them on multiple queues.
* [Delayed::Job](https://github.com/tobi/delayed_job) — Database backed asynchronous priority queue.
* [Qu](https://github.com/bkeepers/qu) A Ruby library for queuing and processing background jobs.
* [Sidekiq](https://github.com/mperham/sidekiq) Simple, efficient background processing for Ruby

## RESTful API

*Libraries for developing RESTful APIs.*

* [Grape](http://intridea.github.io/grape/) - An opinionated micro-framework for creating REST-like APIs in Ruby.
* [Rails::API](https://github.com/rails-api/rails-api) - Rails for API only applications
* [jbuilder](https://github.com/rails/jbuilder) - Create JSON structures via a Builder-style DSL
* [rabl](https://github.com/nesquena/rabl) - General Ruby templating with json, bson, xml, plist and msgpack support
* [active_model_serializers](https://github.com/rails-api/active_model_serializers) - ActiveModel::Serializer implementation and Rails hooks
* [oat](https://github.com/ismasan/oat) - Adapters-based API serializers with Hypermedia support for Ruby apps (HAL, Siren, JSONAPI).
* [APIcasso](https://github.com/ErvalhouS/APIcasso) - An abstract API design as a Rails-based mountable engine. RESTfullize your legacy code.

## Serverless
* [FaaStRuby](https://faastruby.io) - Serverless Software Development Platform for Ruby and Crystal developers.

## Spreadsheets

*Libraries for manipulating Excel, Google Spreadsheets, Numbers, OpenOffice and LibreOffice files*

* [spreadsheet](https://github.com/zdavatz/spreadsheet) - The Spreadsheet Library is designed to read and write Spreadsheet Documents.
* [caxlsx](https://github.com/caxlsx/caxlsx) - Caxlsx excels at helping you generate beautiful Office Open XML Spreadsheet documents.
* [caxlsx_rails](https://github.com/caxlsx/caxlsx_rails) - Axlsx-Rails provides an Axlsx renderer so you can move all your spreadsheet code from your controller into view files.
* [roo](https://github.com/roo-rb/roo) - Roo implements read access for all spreadsheet types and read/write access for Google spreadsheets.
* [google-spreadsheet-ruby](https://github.com/gimite/google-spreadsheet-ruby) - This is a library to read/write Google Spreadsheet.
* [rubyXL](https://github.com/weshatheleopard/rubyXL) - rubyXL is a gem which allows the parsing, creation, and manipulation of Microsoft Excel (.xlsx/.xlsm) Documents
* [Odf-report](https://github.com/sandrods/odf-report) - Generates ODF files, given a template (.odt) and data, replacing tags
* [simple_xlsx_writer](https://github.com/harvesthq/simple_xlsx_writer) - Just as the name says, simple writter for Office 2007+ Excel files
* [remote_table](https://github.com/seamusabshere/remote_table) - Open local or remote XLSX, XLS, ODS, CSV (comma separated), TSV (tab separated), other delimited, fixed-width files, and Google Docs.
* [acts_as_caxlsx](https://github.com/caxlsx/acts_as_caxlsx) - acts_as_caxlsx lets you turn any ActiveRecord::Base inheriting class into an excel spreadsheet.
* [activeadmin-caxlsx](https://github.com/caxlsx/activeadmin-caxlsx) - This gem uses caxlsx to provide excel/xlsx downloads for resources in Active Admin.
* [to_spreadsheet](https://github.com/glebm/to_spreadsheet) - Render XLSX from Rails using existing views
* [write_xlsx](https://github.com/cxn03651/write_xlsx) - write_xlsx is a gem to create a new file in the Excel 2007+ XLSX format.
* [excel_rails](https://github.com/asanghi/excel_rails) - Allows you to program spreadsheets using .rxls views
* [sheets](https://github.com/bspaulding/Sheets) - Work with spreadsheets easily in a native ruby format.
* [workbook](https://github.com/murb/workbook) - Workbook contains workbooks, as in a table, contains rows, contains cells, reads/writes excel, ods and csv and tab separated files...
* [Spreadsheet report](https://github.com/gnoso/spreadsheet_report) - Simple tool for running queries against ActiveRecord and putting them into a Google Spreadsheet.
* [oxcelix](https://github.com/gbiczo/oxcelix) - A fast Excel 2007/2010 (.xlsx) file parser that returns a collection of Matrix objects
* [wrap_excel](https://github.com/tomiacannondale/wrap_excel) - WrapExcel is to wrap the win32ole, and easy to use Excel operations with ruby. Detailed description please see the README.
* [write_xlsx_rails](https://github.com/maxd/write_xlsx_rails) - xlsx renderer for Rails base on write_xlsx gem
* [Fastsheet](https://github.com/dkkoval/fastsheet) - Fast spreadsheet reader using Rust native extensions.

## Scheduling

* [whenever](https://github.com/javan/whenever) Cron jobs in Ruby
* [resque-scheduler](https://github.com/resque/resque-scheduler) A light-weight job scheduling system built on top of resque
* [rufus-scheduler](https://github.com/jmettraux/rufus-scheduler) Scheduler for Ruby
* [Clockwork](https://github.com/tomykaira/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.

## Science and Data Analysis

*Libraries for scientific computing and data analyzing.*

## Search

*Libraries and software for indexing and performing search queries on data.*

* [Thinking Sphinx](https://github.com/pat/thinking-sphinx) - Sphinx plugin for ActiveRecord/Rails
* [elasticsearch-ruby](https://github.com/elastic/elasticsearch-ruby) - Ruby integrations for Elasticsearch
* [Searchkick](https://github.com/ankane/searchkick) - Intelligent search made easy
* [Algoliasearch Rails](https://github.com/algolia/algoliasearch-rails/) - AlgoliaSearch integration to your favorite ORM
* [PgSearch](https://github.com/Casecommons/pg_search) - PostgreSQL's full text search
* [Rroonga](https://github.com/ranguba/rroonga) - The Ruby bindings of Groonga
* [Sunspot](https://github.com/sunspot/sunspot) - Solr-powered search for Ruby objects

## Site Monitoring

*Libs for analytics, monitoring*

* [rack-google-analytics](https://github.com/kangguru/rack-google-analytics) Simple Rack middleware for implementing google analytics tracking
* [DataDog](https://github.com/DataDog/dogapi-rb) A monitoring service for IT, operations and development teams
* [Instrumental](https://github.com/Instrumental/instrumental_agent-ruby) High-scale, non-blocking agent for [Instrumental](https://instrumentalapp.com) application monitoring
* [Keen IO](https://github.com/keenlabs/keen-gem) Build analytics features directly into your Ruby apps

## Static Page Generation

* [jekyll](https://github.com/jekyll/jekyll) A blog-aware, static site generator in Ruby
* [middleman](https://github.com/middleman/middleman)

## Starter Apps

*App templates for creating apps quickly*

* [suspenders](https://github.com/thoughtbot/suspenders) A Rails template with our standard defaults, ready to deploy to Heroku
* [ruby2-rails4-bootstrap-heroku](https://github.com/diowa/ruby2-rails4-bootstrap-heroku) A starter application based on Ruby 2, Rails 4 and Bootstrap for Sass, deployable on Heroku
* [rails-bootstrap](https://github.com/RailsApps/rails-bootstrap) Rails 4.1 starter app with the Bootstrap front-end framework
* [rails4-starterkit](https://github.com/starterkits/rails4-starterkit) Rails 4.1 starter app with production ready performance, security, and authentication
* [cybele](https://github.com/lab2023/cybele) - Rails 4.x template with responder, simple form, haml, exception notification, etc ...

## Text Processing

*Libraries for parsing and manipulating texts.*

* General

* Specific Formats

* Parser

* [Yomu](https://github.com/Erol) - Read text and metadata from files and documents (.doc, .docx, .pages, .odt, .rtf, .pdf)

## Tagging

*Libraries for tagging items.*

* [acts-as-taggable-on](https://github.com/mbleigh/acts-as-taggable-on) - A tagging plugin for Rails applications that allows for custom tagging along dynamic contexts.

## Template Engine

*Libraries and tools for templating and lexing.*

* [Slim](https://github.com/slim-template/slim) A templating lang that reduce the syntax to the essential parts without becoming cryptic.
* [slim-rails](https://github.com/slim-template/slim-rails) Rails port of Slim lang
* [Haml](https://github.com/haml/haml) HTML Abstraction Markup Language - A Markup Haiku
* [haml-rails](https://github.com/indirect/haml-rails) Rails port of Haml lang
* [Tilt](https://github.com/rtomayko/tilt)
* [Liquid](https://github.com/Shopify/liquid)

## Testing

*Libraries for testing codebases and generating test data.*

* Testing Frameworks
* [RSpec](http://rspec.info/) - BDD for Ruby
* [MiniTest](https://github.com/seattlerb/minitest) - minitest provides a complete suite of testing facilities supporting TDD, BDD, mocking, and benchmarking
* [Cucumber]
* [Cucumber Github](https://github.com/cucumber/cucumber/wiki) - Cucumber is a tool that executes plain-text functional descriptions as automated tests
* [Cucumber Site](https://cucumber.io/) - Behaviour Driven Development with elegacy and joy
* [Spinach](https://github.com/codegram/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.
* [Rubytest](http://rubyworks.github.io/rubytest) - Rubytest is a testing meta-framework useful for creating highly customize test suites or building whole new test frameworks.
* [BRASS](http://rubyworks.github.io/brass) - Bare-metal Ruby assertion system standard used by Rubytest.
* [Lemon](http://rubyworks.github.io/lemon) - Strict unit test system built on top of Rubytest.
* [shoulda-matchers](https://github.com/thoughtbot/shoulda-matchers) - Collection of testing matchers extracted from Shoulda
* [capybara](https://github.com/jnicklas/capybara) - Acceptance test framework for web applications
* Mock
* [RSpec-mocks](https://github.com/rspec/rspec-mocks) - RSpec's 'test double' framework, with support for stubbing and mocking
* [Mocha](http://gofreerange.com/mocha/docs/) - Mocking and stubbing library with JMock/SchMock syntax, which allows mocking and stubbing of methods on real (non-mock) classes.
* [FlexMock](https://github.com/jimweirich/flexmock) - Flexible mocking for Ruby testing
* Fake Data
* [Faker](https://github.com/stympy/faker) - A library for generating fake data such as names, addresses, and phone numbers
* [ffaker](https://github.com/ffaker/ffaker) - Faker Refactored.
* [Forgery](https://github.com/sevenwire/forgery) - Easy and customizable generation of forged data.
* Code Coverage
* [simplecov](https://github.com/colszowka/simplecov) Code coverage for Ruby 1.9+ with a powerful configuration library and automatic merging of coverage
* Load Testing

* Error Handler

## Third-party APIs

*Libraries for accessing third party APIs.*

* [koala](https://github.com/arsduo/koala) A lightweight, flexible library for Facebook
* [fb_graph](https://github.com/nov/fb_graph) A full-stack Facebook Graph API wrapper
* [twitter](https://github.com/sferik/twitter) A Ruby interface to the Twitter API
* [tweetstream](https://github.com/tweetstream/tweetstream) A simple library for consuming Twitter's Streaming API
* [gitlab](https://github.com/NARKOZ/gitlab) Ruby wrapper and CLI for the GitLab API
* [octokit.rb](https://github.com/octokit/octokit.rb) Ruby toolkit for the GitHub API
* [instagram](https://github.com/Instagram/instagram-ruby-gem) The official gem for the Instagram API
* [linkedin](https://github.com/hexgnu/linkedin) Ruby wrapper for the LinkedIn API
* [twilio-ruby](https://github.com/twilio/twilio-ruby) A Ruby gem for communicating with the Twilio API and generating TwiML
* [viewpoint-spws](https://github.com/zenchild/viewpoint-spws) A Microsoft Sharepoint Web Services library for Ruby.
* [youtube_it](https://github.com/kylejginavan/youtube_it) An object-oriented Ruby wrapper for the YouTube GData API
* [flickraw](https://github.com/hanklords/flickraw) Flickraw is a library to access flickr api
* [f00px](https://github.com/500px/f00px) Official 500px api ruby gem
* [rspotify](https://github.com/guilhermesad/rspotify) Ruby wrapper for the Spotify Web API

## URL Manipulation

*Libraries for parsing URLs.*

## Video

*Libraries for manipulating video and GIFs.*

* [streamio-ffmpeg](https://github.com/streamio/streamio-ffmpeg) Simple yet powerful ruby FFmpeg wrapper for reading metadata and transcoding movies

## Web Content Extracting

*Libraries for extracting web contents.*

## Web Crawling

*Libraries for scraping websites.*

* [upton](https://github.com/propublica/upton) A batteries-included framework for easy web-scraping
* [metainspector](https://github.com/jaimeiniesta/metainspector)

## Web Frameworks

*Web development frameworks.*

* [Ruby On Rails](http://rubyonrails.org/) - Ruby on Rails is a full-stack web framework optimized for programmer happiness and sustainable productivity
* [Roda](https://roda.jeremyevans.net/) - Modular, scalable Ruby framework. Extremely fast, extremely efficient.
* [Hanami](http://hanamirb.org/) - (formerly Lotus) A complete full-stack application framework that is simple, fast and lightweight. Designed for scale.
* [Sinatra](http://www.sinatrarb.com/) - Sinatra is a DSL for quickly creating web applications in Ruby with minimal effort.
* [Padrino](http://www.padrinorb.com/) - The Godfather of Sinatra provides a full-stack agnostic framework on top of Sinatra
* [Cramp](http://cramp.in/) - Cramp is a fully asynchronous real-time web application framework in Ruby
* [Cuba](http://cuba.is/) - Cuba is a microframework for web development originally inspired by Rum, a tiny but powerful mapper for Rack applications.
* [Pakyow](https://pakyow.com/) - Pakyow is an open-source framework for the modern web. Build working software faster with a development process that remains friendly to both designers and developers. It's built for getting along.
* [Hyperstack](https://hyperstack.org/) - A complete Isomorphic Ruby Framework using React, Opal and Rails

## Web Servers

*App server interface*

* [puma](https://github.com/puma/puma) A simple, fast, threaded, and highly concurrent HTTP 1.1 server for Ruby/Rack applications.
* [thin](https://github.com/macournoyer/thin) A thin and fast web server
* [trinidad](https://github.com/trinidad/trinidad) Run Rails or Rack applications within an embedded Apache Tomcat container.
* [unicorn](https://github.com/defunkt/unicorn) An HTTP server for Rack applications designed to only serve fast clients.
* [passenger](https://github.com/phusion/passenger) A modern web server and application server for Ruby, Python, and Node.js.
* [pow](https://github.com/basecamp/pow) Pow treats files and directories as ruby objects giving you more power and flexibility.
* [goliath](https://github.com/postrank-labs/goliath) is a non-blocking Ruby web server framework.

## WebSocket

*Libraries for woking with WebSocket.*

* [Faye](http://faye.jcoglan.com/ruby.html) - Simple pub/sub messaging for the web
* [websocket-rails](https://github.com/websocket-rails/websocket-rails) - Plug and play websocket support for ruby on rails.

# Miscellaneous

*Useful libraries or tools that don't fit in the categories above.*

* [packetfu](https://github.com/packetfu/packetfu) A mid-level packet manipulation library for Ruby.
* [chatterbot](https://github.com/muffinista/chatterbot) A straightforward ruby-based Twitter Bot Framework, using OAuth to authenticate
* [sneakers](https://github.com/jondot/sneakers) A fast background processing framework for Ruby and RabbitMQ
* [ransack](https://github.com/activerecord-hackery/ransack) Object-based searching.
* [cinch](https://github.com/cinchrb/cinch) The IRC Bot Building Framework
* [pry](https://github.com/pry/pry) An IRB alternative and runtime developer console
* [rib](http://rib.godfat.org/) A lightweight and extensible IRB replacement
* [jazz_hands](https://github.com/nixme/jazz_hands/) Pry-based enhancements for the default Rails 3 and 4 consoles
* [awesome_print](https://github.com/awesome-print/awesome_print) A Ruby library that pretty prints Ruby objects in full color exposing their internal structure with proper indentation.
* [friendly_id](https://github.com/norman/friendly_id) Slugging and permalink plugins for ActiveRecord
* [backup](https://github.com/backup/backup) An elegant DSL in Ruby for performing backups on UNIX-like systems
* [kss](https://github.com/kneath/kss) Documenting CSS and generating styleguides
* [AASM](https://github.com/aasm/aasm) - A library for adding finite state machines to Ruby classes
* [JsonCompare](https://github.com/a2design-inc/json-compare) - Returns the difference between two JSON files
* [blankable](https://github.com/lab2023/blankable) - Adds blank slates to index view in Rails
* [tcmb_currency](https://github.com/lab2023/tcmb_currency) - T.C.M.B. currencies for Money Gem
* [enumerize](https://github.com/brainspec/enumerize) - Enumerated attributes with I18n and ActiveRecord/Mongoid support
* [lol_dba](https://github.com/plentz/lol_dba) - lol_dba is a small package of rake tasks that scan your application models and displays a list of columns that probably should be indexed.
* [annotate-models](https://github.com/ctran/annotate_models) - Annotate ActiveRecord models
* [fast_attributes](https://github.com/applift/fast_attributes) - FastAttributes adds attributes with their types to the class
* [Github Changelog Generator](https://github.com/skywinder/Github-Changelog-Generator) — automatically generate change log from your tags, issues, labels and pull requests on GitHub.
* [Letter Opener](https://github.com/ryanb/letter_opener) — Preview email in the default browser instead of sending it.
* [Auto HTML](https://github.com/dejan/auto_html) — Transforming URLs to appropriate resource (image, link, YouTube, Vimeo video,...).
* [OctoLinker](https://github.com/OctoLinker/browser-extension) - Navigate through projects on GitHub.com efficiently with the OctoLinker browser extension.
* [BetterDocs](https://github/khusnetdinov/betterdocs) - Documentation with collection practices in ruby. Good for new ruby developers and beginners.

## Editor Plugins

*Plugins for various editors.*

* [vim-ruby](https://github.com/vim-ruby/vim-ruby) Vim/Ruby Configuration Files
* [vim-rails](https://github.com/tpope/vim-rails) rails.vim: Ruby on Rails power tools

# Resources

*Where to discover things (libraries, news e.g) about Ruby.*

* [The Ruby Toolbox](https://www.ruby-toolbox.com/)
* [RubyGems](https://rubygems.org/)
* [RubyDaily](http://rubydaily.org) - Community driven news
* [Ruby Weekly](http://rubyweekly.com/) - A free, once–weekly e-mail round-up of Ruby news and articles.
* [Ruby5](https://ruby5.codeschool.com/) - The latest news in the Ruby and Rails community
* [RubyFlow](http://www.rubyflow.com) - Ruby Programming Community Link Blog
* [Ruby Curated Resources](https://hackr.io/tutorials/learn-ruby)

## People to Follow

*People in Ruby World*

* [Yukihiro "Matz" Matsumoto](https://twitter.com/yukihiro_matz) - Creator of Ruby lang
* [David Heinemeier Hansson](https://twitter.com/dhh) - Creator of Rails framework
* [Koichi Sasada](https://github.com/ko1) - Ruby core committer and the developer of YARV
* [Aaron Patterson](http://tenderlovemaking.com/) - Committer to Nokogiri, Ruby, and Ruby on Rails
* [Avdi Grimm](http://devblog.avdi.org/) - Host of Ruby Tapas webcasts
* [Aman Gupta](http://tmm1.net/)- Ruby core committer

# Other Awesome Lists

Other amazingly awesome lists can be found in the [awesome-awesomeness](https://github.com/bayandin/awesome-awesomeness) list.