Awesome Lists

awesome-ruby

by sdogruyol

awesome listpushed about 2 years ago

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

AI summary

Ruby toolkit

A curated list of tools and resources for Ruby developers

stars
1.3K
forks
176
watching
88
awesome lists
10
entries
309
View on GitHub

Embed the badge

Show how many awesome lists link to your project. The count updates automatically.

Awesome Lists badge
Markdown
[![Awesome Lists Badge](https://awesome.facts.dev/shield/sdogruyol/awesome-ruby/links.svg)](https://awesome.facts.dev/awesome/sdogruyol/awesome-ruby)
HTML
<a href="https://awesome.facts.dev/awesome/sdogruyol/awesome-ruby"><img src="https://awesome.facts.dev/shield/sdogruyol/awesome-ruby/links.svg" alt="Awesome Lists Badge" /></a>
Image URL
https://awesome.facts.dev/shield/sdogruyol/awesome-ruby/links.svg

What's in the list

309 links in 85 sections, with live GitHub stats.activeno commit in 2y

Admin Panels

  • active_admin

    The administration framework for Ruby on Rails applications

  • rails_admin

    A Rails engine that provides an easy-to-use interface for managing your data

  • administrate

    A framework for creating flexible, powerful admin dashboards in Rails

Anti-spam

Asset Management

  • sprockets

    Rack-based asset packaging system

  • rails-assets

    is the frictionless proxy between Bundler and Bower

Audio

  • seal

    A C library (with Ruby binding) for 3D audio rendering

Auditing

  • Audited

    Audited (formerly acts_as_audited) is an ORM extension that logs all changes to your Rails models

  • Logidze

    Logs model changes via database triggers (PL/SQL functions). Fastest model diffs. PostgreSQL 9.5+ only

Authentication and OAuth

  • Devise

    Devise is a flexible authentication solution for Rails based on Warden

  • Omniauth

    OmniAuth is a flexible authentication system utilizing Rack middleware

  • Warden

    General Rack Authentication Framework

  • AuthLogic

    A simple ruby authentication solution

  • Sorcery

    Magical authentication for Rails 3 & 4

  • CanCanCan

    Authorization gem for Rails (continued version of CanCan from ryanb)

  • pundit

    Minimal authorization using object oriented design

  • authority

    ORM neutral authorization

  • doorkeeper

    An OAuth 2 provider for Rails

  • tiddle

    Devise strategy for token authentication in API-only Ruby on Rails applications

Build Tools

  • teapot

    A decentralised build tool for managing complex cross-platform projects

Caching

  • rack-cache

    HTTP Caching for Ruby Web Apps

  • Dalli

    a high performance pure Ruby client for accessing memcached servers

Cloud Services

  • fog

    The Ruby cloud services library

  • aws-sdk-ruby

    The official AWS SDK for Ruby

CMS

  • Refinery CMS

    An extendable Ruby on Rails CMS that supports Rails 3.2 and 4.2

  • Comfortable Mexican Sofa

    A powerful Rails 4/5 CMS Engine

  • Browser

    Humane Content Management for Rails

  • Locomotive

    a brand new CMS system with super sexy UI and cool features

  • Radiant

    A no-fluff, open source content management system

  • Nesta

    A lightweight CMS, implemented in Sinatra

  • alchemy_cms

    the most powerful, user friendly and flexible Rails CMS

  • weby

    Newbie CMS in Ruby on Rails

Code Analysis and Linter

  • sonarlint-intellij

    An IDE extension that helps you detect and fix quality issues as you write code

  • Rubocop

    A Ruby static code analyzer, based on the community Ruby style guide

  • ruby-lint

    ruby-lint is a static code analysis tool for Ruby

  • brakeman

    Static analysis tool which checks Ruby on Rails applications for security vulnerabilities

  • reek

    Code smell detector for Ruby

  • Breezer

    Lock your Gemfile dependencies to safe versions

Command-line Tools

  • Commander

    The complete solution for Ruby command-line executables

  • Thor

    Thor is a toolkit for building powerful command-line interfaces

CSS and Styling

  • sass

    A CSS preproccessor

CSS and Styling / sass

  • sass-rails

    Rails stylesheet engine for Sass

CSS and Styling

  • less-rails

    The dynamic stylesheet language for the Rails

  • compass

    A a Stylesheet Authoring Environment

  • bootstrap-sass

    Official Sass port of Bootstrap

  • foundation-rails

    Foundation for Rails

  • bootswatch-rails

    Bootswatches converted to SCSS ready to use in Rails

  • bourbon

    A lightweight mixin library for Sass

Data Validation

  • kangal

    Extended validation gem for email, subdomain, credit card, tax number etc

  • bin_checker

    BIN validator for Turkish Banks

Data Visualization

  • prosperity

    The easiest way to graph data from your Rails models

Database Drivers

  • ruby-pg

    Ruby interface to the PostgreSQL >= 8.4

  • mysql2

    A modern, simple and very fast Mysql library for Ruby

  • sqlite3-ruby

    Ruby bindings for the SQLite3 embedded database

Date and Time

  • stamp

    Date and time formatting for humans

  • chronic

    Natural language date/time parser

Debugging Tools

  • byebug

    Debugging in Ruby 2

  • debugger

    port of ruby-debug that works on 1.9.2 and 1.9.3

  • puts_debuggerer

    Debugger-less debugging FTW

DevOps Tools

  • Puppet

    Server automation framework and application

  • Chef

    A systems integration framework, built to bring the benefits of configuration management to your entire infrastructure

  • Vagrant

    Vagrant is a tool for building and distributing development environments

  • Capistrano

    Remote multi-server automation tool

  • Mina

    Really fast deployer and server automation tool

  • Nanobox

    A micro-PaaS (μPaaS) for creating consistent, isolated, Ruby environments deployable anywhere

Distribution

  • fpm

    Building packages for multiple platforms (deb, rpm, etc) with great ease and sanity

Documentation

  • Dictum

    A tool that let's you create automatic documentation of your Rails API endpoints through your tests

  • rdoc

    HTML and online documentation for Ruby projects

  • yard

    A Ruby Documentation tool

Downloader

E-Commerce & Online Paying

  • Active Merchant

    A simple payment abstraction library extracted from Shopify

  • Spree

    A complete open source e-commerce solution for Ruby on Rails

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

    Provides Ruby APIs for processing payments, recurring payments, subscriptions and transactions using PayPal's Merchant APIs

E-Mail

  • mail

    A Really Ruby Mail Library

  • mailman

    An incoming mail processing microframework in Ruby

Environment Management

  • chruby

    Changes the current Ruby

  • chgems

    Chroot for RubyGems

  • rvm

    Ruby Version Manager

  • rbenv

    Groom your app’s Ruby environment

  • ruby-install

    Installs Ruby, JRuby, Rubinius, MagLev or MRuby

  • ruby-build

    Compile and install Ruby

  • Nanobox

    A tool for creating isolated Ruby environments for consistency across teams and application stages (dev, staging, production, etc.)

Error Handling

  • Exception Notification

    A set of notifiers for sending notifications when errors occur in a Rack/Rails application

  • Errbit

    The open source, self-hosted error catcher

  • Airbrake

    The official Airbrake library for Ruby on Rails (and other Rack based frameworks)

  • Better Errors

    Better error page for Rack apps

File Uploading

  • paperclip

    Easy file attachment management for ActiveRecord

  • dragonfly

    On-the-fly processing - suitable for image uploading in Rails, Sinatra and much more

  • carrierwave

    Classier solution for file uploads for Rails, Sinatra and other Ruby web frameworks

  • attache

    Yet another approach to file upload

Feature flipping

  • abstract_feature_branch

    a gem that enables developers to easily branch by abstraction

  • helioth

    Manage feature flipping and rollout

  • flipper

    feature flipping for ANYTHING

  • flip

    Flip lets you declare and manage feature flags, backed by cookies (private testing) and database (site-wide)

  • rollout

    Feature flippers

Forms

  • simple_form

    Forms made easy for Rails

  • formtastic

    A Rails form builder plugin with semantically rich and accessible markup

  • bootstrap_form

    A Rails form builder that makes it super easy to integrate Bootstrap v4-style forms into your Rails application

Game Development

  • Gosu

    A 2D game development library for the Ruby and C++ programming languages

Geolocation

  • geocoder

    Complete Ruby geocoding solution

  • Geokit

    Geokit gem provides geocoding and distance/heading calculations

Git Tools

  • katip

    Change logger for Git initialized projects

GUI

  • glimmer

    Ruby Desktop Development GUI Library

  • shoes

    A tiny graphical app kit for ruby

  • shoes4

    the next version of Shoes

High Performance

  • EventMachine

    EventMachine: fast, simple event-processing library for Ruby programs

  • Celluloid

    Actor-based concurrent object framework for Ruby. It has its own

HTML/XML/CSS Manipulation

  • loofah

    A general library for manipulating and transforming HTML/XML documents and fragments

HTTP

  • httparty

    Makes http fun again!

  • faraday

    Simple, but flexible HTTP client library, with support for multiple backends

  • http

    A simple Ruby DSL for making HTTP requests

  • excon

    Usable, fast, simple HTTP(S) 1.1 for Ruby

  • nestful

    Simple Ruby HTTP/REST client with a sane API

  • response_code

    Response Code in readable way

Imagery

  • rmagick

    An interface to the ImageMagick and GraphicsMagick image processing libraries

Imagery / rmagick

Imagery

  • chunky_png

    Read/write access to PNG images in pure Ruby

  • image_optim

    Optimize images using multiple utilities

  • magickly

    image manipulation as a (plugin-able) service

Internationalization

  • i18n

    Basic internationalization(i18n) library for Ruby

  • globalize

    Rails I18n de-facto standard library for ActiveRecord model/data translation

  • i18n-tasks

    Manage translations in ruby applications with the awesome power of static analysis

Logging

  • Logstash

    Logstash is a tool for managing events and logs

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

  • m2cgen

    A CLI tool to transpile trained classic ML models into a native Ruby code with zero dependencies

Multi-tenancy

  • Apartment

    Database multi-tenancy for Rack (and Rails) applications

Natural Language Processing

  • Treat

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

ORM

  • ActiveRecord

    Databases on Rails. Build a persistent domain model by mapping database tables to Ruby classes

  • DataMapper

    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

    The Database Toolkit for Ruby

  • Mongoid

    Mongoid (pronounced mann-goyd) is an Object-Document-Mapper (ODM) for MongoDB written in Ruby

  • Ohm

    Object-Hash Mapping for Redis

Package Management

  • RubyGems

    RubyGems is a package manager for the Ruby programming language that provides a standard format for distributing Ruby programs and libraries

  • Bundler

    Bundler provides a consistent environment for Ruby projects by tracking and installing the exact gems and versions that are needed

  • Homebrew

    Homebrew installs the stuff you need that Apple didn’t

  • Homebrew Cask

    Cask provides a friendly homebrew-style CLI workflow for the administration of Mac applications distributed as binaries

Pagination

  • kaminari

    A Scope & Engine based, clean, powerful, customizable and sophisticated paginator

  • will_paginate

    Pagination library for Rails 3, Sinatra, Merb, DataMapper, and more

  • 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

    Wrapper library for Ruby-based HTML-to-PDF API

  • wicked_pdf

    PDF generator (from HTML) plugin for Ruby on Rails

  • pdfkit

    HTML+CSS to PDF using wkhtmltopdf

  • prawn

    Fast, Nimble PDF Writer for Ruby

  • InvoicePrinter

    Super simple PDF invoicing in Ruby (built on top of Prawn)

Presentation Tools

  • rabbit

    A programable presentaton tool by Ruby

  • reveal-ck

    Reveal.js presentations with a Ruby toolset

Processes and Threads

  • Parallel

    Ruby parallel processing made simple and fast

Profiling

  • bullet

    help to kill N+1 queries and unused eager loading

Push Notification

  • Rpush

    The push notification service for Ruby

  • apn_sender

    Background worker to send Apple Push Notifications over a persistent TCP socket

  • Houston

    A simple gem for sending Apple Push Notifications

  • webpush

    Encryption Utilities for Web Push protocol

Queue

  • Resque

    A Redis-backed Ruby library for creating background jobs, placing them on multiple queues

  • Delayed::Job

    — Database backed asynchronous priority queue

  • Qu

    A Ruby library for queuing and processing background jobs

  • Sidekiq

    Simple, efficient background processing for Ruby

RESTful API

  • Grape

    An opinionated micro-framework for creating REST-like APIs in Ruby

  • Rails::API

    Rails for API only applications

  • jbuilder

    Create JSON structures via a Builder-style DSL

  • rabl

    General Ruby templating with json, bson, xml, plist and msgpack support

  • active_model_serializers

    ActiveModel::Serializer implementation and Rails hooks

  • oat

    Adapters-based API serializers with Hypermedia support for Ruby apps (HAL, Siren, JSONAPI)

  • APIcasso

    An abstract API design as a Rails-based mountable engine. RESTfullize your legacy code

Serverless

  • FaaStRuby

    Serverless Software Development Platform for Ruby and Crystal developers

Spreadsheets

  • spreadsheet

    The Spreadsheet Library is designed to read and write Spreadsheet Documents

  • caxlsx

    Caxlsx excels at helping you generate beautiful Office Open XML Spreadsheet documents

  • caxlsx_rails

    Axlsx-Rails provides an Axlsx renderer so you can move all your spreadsheet code from your controller into view files

  • roo

    Roo implements read access for all spreadsheet types and read/write access for Google spreadsheets

  • google-spreadsheet-ruby

    This is a library to read/write Google Spreadsheet

  • rubyXL

    rubyXL is a gem which allows the parsing, creation, and manipulation of Microsoft Excel (.xlsx/.xlsm) Documents

  • Odf-report

    Generates ODF files, given a template (.odt) and data, replacing tags

  • simple_xlsx_writer

    Just as the name says, simple writter for Office 2007+ Excel files

  • 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

    acts_as_caxlsx lets you turn any ActiveRecord::Base inheriting class into an excel spreadsheet

  • activeadmin-caxlsx

    This gem uses caxlsx to provide excel/xlsx downloads for resources in Active Admin

  • to_spreadsheet

    Render XLSX from Rails using existing views

  • write_xlsx

    write_xlsx is a gem to create a new file in the Excel 2007+ XLSX format

  • excel_rails

    Allows you to program spreadsheets using .rxls views

  • sheets

    Work with spreadsheets easily in a native ruby format

  • workbook

    Workbook contains workbooks, as in a table, contains rows, contains cells, reads/writes excel, ods and csv and tab separated files

  • Spreadsheet report

    Simple tool for running queries against ActiveRecord and putting them into a Google Spreadsheet

  • oxcelix

    A fast Excel 2007/2010 (.xlsx) file parser that returns a collection of Matrix objects

  • 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

    xlsx renderer for Rails base on write_xlsx gem

  • Fastsheet

    Fast spreadsheet reader using Rust native extensions

Scheduling

  • whenever

    Cron jobs in Ruby

  • resque-scheduler

    A light-weight job scheduling system built on top of resque

  • rufus-scheduler

    Scheduler for Ruby

  • 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

  • Thinking Sphinx

    Sphinx plugin for ActiveRecord/Rails

  • elasticsearch-ruby

    Ruby integrations for Elasticsearch

  • Searchkick

    Intelligent search made easy

  • Algoliasearch Rails

    AlgoliaSearch integration to your favorite ORM

  • PgSearch

    PostgreSQL's full text search

  • Rroonga

    The Ruby bindings of Groonga

  • Sunspot

    Solr-powered search for Ruby objects

Site Monitoring

  • rack-google-analytics

    Simple Rack middleware for implementing google analytics tracking

  • DataDog

    A monitoring service for IT, operations and development teams

  • Instrumental

    High-scale, non-blocking agent for application monitoring

  • Keen IO

    Build analytics features directly into your Ruby apps

Static Page Generation

  • jekyll

    A blog-aware, static site generator in Ruby

Starter Apps

  • suspenders

    A Rails template with our standard defaults, ready to deploy to Heroku

  • ruby2-rails4-bootstrap-heroku

    A starter application based on Ruby 2, Rails 4 and Bootstrap for Sass, deployable on Heroku

  • rails-bootstrap

    Rails 4.1 starter app with the Bootstrap front-end framework

  • rails4-starterkit

    Rails 4.1 starter app with production ready performance, security, and authentication

  • cybele

    Rails 4.x template with responder, simple form, haml, exception notification, etc

Text Processing

  • Yomu

    Read text and metadata from files and documents (.doc, .docx, .pages, .odt, .rtf, .pdf)

Tagging

  • acts-as-taggable-on

    A tagging plugin for Rails applications that allows for custom tagging along dynamic contexts

Template Engine

  • Slim

    A templating lang that reduce the syntax to the essential parts without becoming cryptic

Template Engine / Slim

Template Engine

  • Haml

    HTML Abstraction Markup Language - A Markup Haiku

Template Engine / Haml

Template Engine

Testing

  • RSpec

    BDD for Ruby

  • MiniTest

    minitest provides a complete suite of testing facilities supporting TDD, BDD, mocking, and benchmarking

Testing / [Cucumber]

  • Cucumber Github

    Cucumber is a tool that executes plain-text functional descriptions as automated tests

  • Cucumber Site

    Behaviour Driven Development with elegacy and joy

Testing

  • 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

    Rubytest is a testing meta-framework useful for creating highly customize test suites or building whole new test frameworks

Testing / Rubytest

  • BRASS

    Bare-metal Ruby assertion system standard used by Rubytest

  • Lemon

    Strict unit test system built on top of Rubytest

Testing

  • shoulda-matchers

    Collection of testing matchers extracted from Shoulda

  • capybara

    Acceptance test framework for web applications

  • RSpec-mocks

    RSpec's 'test double' framework, with support for stubbing and mocking

  • Mocha

    Mocking and stubbing library with JMock/SchMock syntax, which allows mocking and stubbing of methods on real (non-mock) classes

  • FlexMock

    Flexible mocking for Ruby testing

  • Faker

    A library for generating fake data such as names, addresses, and phone numbers

  • ffaker

    Faker Refactored

  • Forgery

    Easy and customizable generation of forged data

  • simplecov

    Code coverage for Ruby 1.9+ with a powerful configuration library and automatic merging of coverage

Third-party APIs

  • koala

    A lightweight, flexible library for Facebook

  • fb_graph

    A full-stack Facebook Graph API wrapper

  • twitter

    A Ruby interface to the Twitter API

  • tweetstream

    A simple library for consuming Twitter's Streaming API

  • gitlab

    Ruby wrapper and CLI for the GitLab API

  • octokit.rb

    Ruby toolkit for the GitHub API

  • instagram

    The official gem for the Instagram API

  • linkedin

    Ruby wrapper for the LinkedIn API

  • twilio-ruby

    A Ruby gem for communicating with the Twilio API and generating TwiML

  • viewpoint-spws

    A Microsoft Sharepoint Web Services library for Ruby

  • youtube_it

    An object-oriented Ruby wrapper for the YouTube GData API

  • flickraw

    Flickraw is a library to access flickr api

  • f00px

    Official 500px api ruby gem

  • rspotify

    Ruby wrapper for the Spotify Web API

Video

  • streamio-ffmpeg

    Simple yet powerful ruby FFmpeg wrapper for reading metadata and transcoding movies

Web Crawling

  • upton

    A batteries-included framework for easy web-scraping

Web Frameworks

  • Ruby On Rails

    Ruby on Rails is a full-stack web framework optimized for programmer happiness and sustainable productivity

  • Roda

    Modular, scalable Ruby framework. Extremely fast, extremely efficient

  • Hanami

    (formerly Lotus) A complete full-stack application framework that is simple, fast and lightweight. Designed for scale

  • Sinatra

    Sinatra is a DSL for quickly creating web applications in Ruby with minimal effort

  • Padrino

    The Godfather of Sinatra provides a full-stack agnostic framework on top of Sinatra

  • Cramp

    Cramp is a fully asynchronous real-time web application framework in Ruby

  • Cuba

    Cuba is a microframework for web development originally inspired by Rum, a tiny but powerful mapper for Rack applications

  • Pakyow

    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

    A complete Isomorphic Ruby Framework using React, Opal and Rails

Web Servers

  • puma

    A simple, fast, threaded, and highly concurrent HTTP 1.1 server for Ruby/Rack applications

  • thin

    A thin and fast web server

  • trinidad

    Run Rails or Rack applications within an embedded Apache Tomcat container

  • unicorn

    An HTTP server for Rack applications designed to only serve fast clients

  • passenger

    A modern web server and application server for Ruby, Python, and Node.js

  • pow

    Pow treats files and directories as ruby objects giving you more power and flexibility

  • goliath

    is a non-blocking Ruby web server framework

WebSocket

  • Faye

    Simple pub/sub messaging for the web

  • websocket-rails

    Plug and play websocket support for ruby on rails

Miscellaneous

  • packetfu

    A mid-level packet manipulation library for Ruby

  • chatterbot

    A straightforward ruby-based Twitter Bot Framework, using OAuth to authenticate

  • sneakers

    A fast background processing framework for Ruby and RabbitMQ

  • ransack

    Object-based searching

  • cinch

    The IRC Bot Building Framework

  • pry

    An IRB alternative and runtime developer console

  • rib

    A lightweight and extensible IRB replacement

  • jazz_hands

    Pry-based enhancements for the default Rails 3 and 4 consoles

  • awesome_print

    A Ruby library that pretty prints Ruby objects in full color exposing their internal structure with proper indentation

  • friendly_id

    Slugging and permalink plugins for ActiveRecord

  • backup

    An elegant DSL in Ruby for performing backups on UNIX-like systems

  • kss

    Documenting CSS and generating styleguides

  • AASM

    A library for adding finite state machines to Ruby classes

  • JsonCompare

    Returns the difference between two JSON files

  • blankable

    Adds blank slates to index view in Rails

  • tcmb_currency

    T.C.M.B. currencies for Money Gem

  • enumerize

    Enumerated attributes with I18n and ActiveRecord/Mongoid support

  • 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

    Annotate ActiveRecord models

  • fast_attributes

    FastAttributes adds attributes with their types to the class

  • Github Changelog Generator

    — automatically generate change log from your tags, issues, labels and pull requests on GitHub

  • Letter Opener

    — Preview email in the default browser instead of sending it

  • Auto HTML

    — Transforming URLs to appropriate resource (image, link, YouTube, Vimeo video,...)

  • OctoLinker

    Navigate through projects on GitHub.com efficiently with the OctoLinker browser extension

  • BetterDocs

    Documentation with collection practices in ruby. Good for new ruby developers and beginners

Miscellaneous / Editor Plugins

  • vim-ruby

    Vim/Ruby Configuration Files

  • vim-rails

    rails.vim: Ruby on Rails power tools

Resources

Resources / People to Follow

More related projects

Add a GitHub project

Missing a project or an awesome list? Paste its GitHub URL and we fetch it right away.