awesome-ruby
by sdogruyol
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
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
RubySpamAssassin
Kills Spam Dead. Perhaps before it's sent!
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
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
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
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
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
Downloader
GitHub Starred Repos Downloader
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
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
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
Git Tools
katip
Change logger for Git initialized projects
GUI
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
Imagery
rmagick
An interface to the ImageMagick and GraphicsMagick image processing libraries
Imagery / rmagick
minimagick
Minified version of 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
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
Search
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
slim-rails
Rails port of Slim lang
Template Engine
Haml
HTML Abstraction Markup Language - A Markup Haiku
Template Engine / Haml
haml-rails
Rails port of Haml lang
Template Engine
Testing
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
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
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
Resources
- RubyDaily
Community driven news
- 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
- RubyFlow
Ruby Programming Community Link Blog
Resources / People to Follow
- Yukihiro "Matz" Matsumoto
Creator of Ruby lang
- David Heinemeier Hansson
Creator of Rails framework
- Koichi Sasada
Ruby core committer and the developer of YARV
- Aaron Patterson
Committer to Nokogiri, Ruby, and Ruby on Rails
- Avdi Grimm
Host of Ruby Tapas webcasts
- Aman Gupta
Ruby core committer
Nothing in this list matches your filter.
Featured in 10 awesome lists
Each link jumps to the spot where the list mentions awesome-ruby.
More related projects
scaffeinate/socify376
macfanatic/sprintapp298
rootstrap/rails_hotwire_base76
coderit/hackathon-manager30
sharetribe/sharetribe2.4K
dao42/rails-template381
rootstrap/rails_api_base505
davidesantangelo/api.rss348
garyf/json_web_token60
tristantoye/rails-template34
mattjohnsonpint/timezoneconverter847
macfanatic/active_admin-state_machine31
justalever/kickoff_tailwind579
jekuno/milia341