awesome-ruby
A collection of awesome Ruby libraries, tools, frameworks and software
https://github.com/eric-erki/awesome-ruby
Last synced: about 2 hours ago
JSON representation
-
Core Extensions
- Hamster - Efficient, immutable, and thread-safe collection classes for Ruby.
- Hanami::Utils - Lightweight, non-monkey-patch class utilities for Hanami and Ruby app.
- Ruby Facets - The premiere collection of general purpose method extensions and standard additions for Ruby.
- ActiveAttr - What ActiveModel left out.
- Virtus - Attributes on Steroids for Plain Old Ruby Objects.
- AttrExtras - Takes some boilerplate out of Ruby with methods like attr_initialize.
- Hashie - A collection of tools that extend Hashes and make them more useful.
- ActiveSupport - A collection of utility classes and standard library extensions.
- Finishing Moves - Small, focused, incredibly useful methods added to core Ruby classes. Includes the endlessly useful `nil_chain`.
- FastAttributes - FastAttributes adds attributes with their types to the class.
-
Country Data
- Carmen - A repository of geographic regions.
- Countries - All sorts of useful information about every country packaged as pretty little country objects.
- i18n_data - country/language names and 2-letter-code pairs, in 85 languages, for country/language i18n.
- normalize_country - Convert country names and codes to a standard, includes a conversion program for XMLs, CSVs and DBs.
- Phonelib - Ruby gem for phone validation and formatting using Google libphonenumber library data.
- Phony - Fast international phone number (E164 standard) normalizing, splitting and formatting.
- validates_zipcode - Postal code / zipcode validation for Rails, supporting 233 country codes.
- Carmen - A repository of geographic regions.
- Countries - All sorts of useful information about every country packaged as pretty little country objects.
-
CRM
- Fat Free CRM - An open source Ruby on Rails based customer relationship management platform.
-
Cryptocurrencies and Blockchains
- Blockchain Lite - Build your own blockchains with crypto hashes; revolutionize the world with blockchains, blockchains, blockchains one block at a time.
- Peatio - Most Advanced Cryptocurrency open-source assets exchange.
-
Dashboards
- Smashing - Smashing is a Sinatra based framework that lets you build beautiful dashboards. This project is the maintained spiritual successor to the Dashing framework.
- Blazer - Simple data viewer using only SQL. Output to table, chart, and maps.
- Dashing-Rails - The exceptionally handsome dashboard framework for Rails.
-
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.
- mysql2 - A modern, simple and very fast Mysql library for Ruby (binding to libmysql).
- Neography - A thin Ruby wrapper to the Neo4j Rest API.
- Redic - Lightweight Redis Client.
- redis-rb - A Ruby client that tries to match Redis' API one-to-one, while still providing an idiomatic interface.
- SQLite3 - Ruby bindings for the SQLite3 embedded database.
- SQL Server - The SQL Server adapter for ActiveRecord.
- TinyTDS - FreeTDS bindings for Ruby using DB-Library.
- ruby-pg - Ruby interface to PostgreSQL 8.3 and later.
-
Database Tools
- connection_pool - Generic connection pooling for Ruby, that can be used with anything, e.g. Redis, Dalli, etc.
- Database Cleaner - Database Cleaner is a set of strategies for cleaning your database in Ruby.
- Database Consistency - An easy way to check that application constraints and database constraints are in sync.
- Foreigner - Adds foreign key helpers to migrations and correctly dumps foreign keys to schema.rb.
- Large Hadron Migrator - Online MySQL schema migrations without locking the table.
- Lol DBA - Scan your models and displays a list of columns that probably should be indexed.
- Polo - Creates sample database snapshots to work with real world data in development.
- PgHero - Postgres insights made easy.
- Rails DB - Database Viewer and SQL Query Runner.
- Rein - Database constraints made easy for ActiveRecord.
- SchemaPlus - SchemaPlus provides a collection of enhancements and extensions to ActiveRecord
- SecondBase - Seamless second database integration for Rails. SecondBase provides support for Rails to manage dual databases by extending ActiveRecord tasks that create, migrate, and test your application.
- Seedbank - Seedbank allows you to structure your Rails seed data instead of having it all dumped into one large file.
- Seed dump - Rails 4 task to dump (parts) of your database to db/seeds.rb.
- Seed Fu - Advanced seed data handling for Rails.
- Standby - Read from standby databases for ActiveRecord (formerly Slavery).
- Upsert - Upsert on MySQL, PostgreSQL, and SQLite3. Transparently creates functions (UDF) for MySQL and PostgreSQL; on SQLite3, uses INSERT OR IGNORE.
- Scenic - Versioned database views for Rails.
-
Data Processing and ETL
- CSV Reader - A modern tabular data (line-by-line records) reader supports "classic" CSV but also CSV Numerics, CSV <3 JSON, CSV <3 YAML, tab, space or fixed width fields (FWF) and many more flavors and dialects.
- Kiba - A lightweight data processing / ETL framework for Ruby.
-
Data Visualization
- Chartkick - Create beautiful Javascript charts with one line of Ruby. Works with Rails, Sinatra and most browsers (including IE 6).
- GeoPattern - Create beautiful generative geometric background images from a string.
- LazyHighCharts - A simple and extremely flexible way to use HighCharts from ruby code. Tested on Ruby on Rails, Sinatra and Nanoc, but it should work with others too.
- 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.
- Chartkick - Create beautiful Javascript charts with one line of Ruby. Works with Rails, Sinatra and most browsers (including IE 6).
-
Date and Time Processing
- biz - Time calculations using business hours.
- 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.
- montrose - a simple library for expressing, serializing, and enumerating recurring events in Ruby
- time-lord - Adds extra functionality to the time class.
- time_diff - Calculates the difference between two time.
- timezone - Accurate current and historical timezones and transformations, with support for Geonames and Google latitude - longitude timezone lookups.
- TZinfo - Provides daylight savings aware transformations between times in different timezones.
- validates_timeliness - Date and time validation plugin for ActiveModel and Rails.
- working_hours - A modern ruby gem allowing to do time calculation with working hours.
- yymmdd - Tiny DSL for idiomatic date parsing and formatting.
- ice_cube - A date recurrence library which allows easy creation of recurrence rules and fast querying.
-
Debugging Tools
- Byebug - A simple to use, feature rich debugger for Ruby 2.
- Pry Byebug - Pry navigation commands via byebug.
- Seeing Is Believing - Displays the results of every line of code in your file.
- Xray - A development tool that reveals your UI's bones.
- pry-rails - Avoid repeating yourself, use pry-rails instead of copying the initializer to every rails project. This is a small gem which causes rails console to open pry. It therefore depends on pry.
- Rails Footnotes - Rails footnotes displays footnotes in your application for easy debugging, such as sessions, request parameters, cookies, filter chain, routes, queries, etc.
- did_you_mean - Adds class, method & attribute suggestions to error messages.
-
Decorators
-
DevOps Tools
- Lita - ChatOps for Ruby: A pluggable chat bot framework usable with any chat service.
- Backup - Provides an elegant DSL in Ruby for performing backups on UNIX-like systems.
- Blender - A modular system orchestration framework with pluggable driver and host discovery.
- BOSH - Cloud Foundry BOSH is an open source tool chain for release engineering, deployment and lifecycle management of large scale distributed services.
- Centurion - A mass deployment tool for Docker fleets.
- Chef - A systems integration framework, built to bring the benefits of configuration management to your entire infrastructure.
- Deployinator - Deployinator is a deployment framework extracted from Etsy.
- Itamae - Simple and lightweight configuration management tool inspired by Chef.
- Kochiku - Kochiku is a distributed platform for test automation.
- 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.
- Request-log-analyzer - Create reports based on your log files. Supports Rails, Apache, MySQL, Delayed::Job, and other formats.
- Rubber - The rubber plugin enables relatively complex multi-instance deployments of RubyOnRails applications to Amazon's Elastic Compute Cloud (EC2).
- SSHKey - SSH private and public key generator in pure Ruby (RSA & DSA).
- Sunzi - Server provisioning utility for minimalists
- Ruby-LXC - Native ruby binding for Linux containers.
- Vagrant - Create and configure lightweight, reproducible, and portable development environments.
- Einhorn - Einhorn will open one or more shared sockets and run multiple copies of your process. You can seamlessly reload your code, dynamically reconfigure Einhorn, and more.
-
Diff
- Diffy - Easy Diffing With Ruby.
- gemdiff - Find source repositories for gems. Open, compare, and update outdated gem versions.
- JsonCompare - Returns the difference between two JSON files.
-
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.
- Doctor - Doctor is a Documentation Server for all your docs in github.
- Documentation - A Rails engine to provider the ability to add documentation to a Rails application.
- GitHub Changelog Generator - Automatically generate change log from your tags, issues, labels and pull requests on GitHub.
- Gollum - A simple, Git-powered wiki with a sweet API and local frontend.
- grape-swagger - Add swagger compliant documentation to your Grape API.
- Hanna - An RDoc formatter built with simplicity, beauty and ease of browsing in mind.
- Hologram - A markdown based documentation system for style guides. It parses comments in your CSS and helps you turn them into a beautiful style guide.
- 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.
- rspec_api_documentation - Automatically generate API documentation from RSpec.
- GitHub Changelog Generator - Automatically generate change log from your tags, issues, labels and pull requests on GitHub.
- Hanna - An RDoc formatter built with simplicity, beauty and ease of browsing in mind.
- YARD - YARD enables the user to generate consistent, usable documentation that can be exported to a number of formats very easily.
-
Ebook
- 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.
- Bookshop - Bookshop is a an open-source agile book development and publishing framework for authors, editors.
-
E-Commerce and Payments
- Active Merchant - A simple payment abstraction library extracted from Shopify.
- Braintree - Braintree Ruby bindings.
- Conekta - Conekta Ruby bindings.
- credit_card_validations - A ruby gem for validating credit card numbers, generating valid numbers, Luhn checks.
- Koudoku - Robust subscription support for Ruby on Rails apps using Stripe, including out-of-the-box pricing pages, payment pages, and subscription management.
- Payola - Drop-in Rails engine for accepting payments with Stripe.
- Piggybak - Modular, Extensible open-source ecommerce solution for Ruby on Rails.
- ROR Ecommerce - A Rails e-commerce platform.
- Solidus - An open source, eCommerce application for high volume retailers.
- Spree - Spree is a complete open source e-commerce solution for Ruby on Rails.
- SquareConnect - Square's SDK for payments and other Square APIs.
- stripe-ruby - Stripe Ruby bindings.
- Paypal Merchant SDK - Official Paypal Merchant SDK for Ruby.
- Payola - Drop-in Rails engine for accepting payments with Stripe.
- credit_card_validations - A ruby gem for validating credit card numbers, generating valid numbers, Luhn checks.
-
Email
- Gibbon - API wrapper for the Mailchimp e-mail marketing platform.
- Griddler - Simplify receiving email in Rails.
- 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.
- Mailman - An incoming mail processing microframework in Ruby.
- Maily - A Rails Engine to manage, test and navigate through all your email templates of your app, being able to preview them directly in your browser.
- MidiSmtpServer - The highly customizable ruby SMTP-Service library with builtin support for AUTH and SSL/STARTTLS, 8BITMIME and SMTPUTF8, IPv4 and IPv6 and more.
- Pony - The express way to send mail from Ruby.
- premailer-rails - CSS styled emails without the hassle.
- Roadie - Roadie tries to make sending HTML emails a little less painful by inlining stylesheets and rewriting relative URLs for you inside your emails.
- Sup - A curses threads-with-tags style email client.
- Postal - A fully featured open source mail delivery platform for incoming & outgoing e-mail.
- MailForm - Send e-mail straight from forms in Rails with I18n, validations, attachments and request information.
- Markerb - Allows you to render multipart e-mails from a single template written in Markdown.
-
Encryption
- Themis - crypto library for painless data security, providing symmetric and asymmetric encryption, secure sockets with forward secrecy, for mobile and server platforms.
- bcrypt-ruby - bcrypt-ruby is a Ruby binding for the OpenBSD bcrypt() password hashing algorithm.
- Sym - A time-saving symmetric encryption gem based on OpenSSL that uses 256bit (password-encrypted) keys. Read the key from STDIN, a file, ENV or, on a Mac: OS-X Keychain.
- bcrypt-ruby - bcrypt-ruby is a Ruby binding for the OpenBSD bcrypt() password hashing algorithm.
- Symmetric Encryption - Transparently encrypt ActiveRecord, Mongoid, and MongoMapper attributes. Encrypt passwords in configuration files. Encrypt entire files at rest.
-
Environment Management
- 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.
- 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.
- ruby-install - Installs Ruby, JRuby, Rubinius, MagLev or MRuby.
- Uru - Uru is a lightweight, multi-platform command line tool that helps you use the multiple rubies on your 32/64-bit Linux, OS X, or Windows systems.
- 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.
-
Error Handling
- Honeybadger - Exception, uptime, and performance monitoring for Ruby.
- Airbrake - The official Airbrake library for Ruby on Rails (and other Rack based frameworks).
- Bugsnag - Error monitoring for Rails, Sinatra, Rack, and plain Ruby apps.
- Errbit - The open source, self-hosted error catcher.
- Exception Handler - Custom error pages.
- 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.
- Better Errors - Better error page for Rack apps.
-
Feature Flippers and A/B Testing
- Motorhead - A Rails Engine framework that helps safe and rapid feature prototyping.
- Rollout - Feature flippers.
- Split - Rack Based AB testing framework.
- Vanity - an A/B testing framework for Rails that is datastore agnostic.
- flipper - Feature flipping for ANYTHING. Make turning features on/off so easy that everyone does it. Whatever your data store, throughput, or experience.
-
File System Listener
- Guard - A command line tool to easily handle events on file system modifications.
- Guard::LiveReload - Automatically reload your browser when 'view' files are modified.
- Listen - The Listen gem listens to file modifications and notifies you about the changes.
- Rerun - Restarts an app when the filesystem changes. Uses growl and FSEventStream if on OS X.
-
File Upload
- attache - Standalone image and file server to decouple your app from file management concerns.
- 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. Deprecated as of May 14, 2018.
- rack-secure-upload - Upload files securely.
- Refile - A modern file upload library for Ruby applications, Refile is an attempt by CarrierWave's original author to fix the design mistakes and overengineering in CarrierWave.
- Shrine - Toolkit for handling file uploads in Ruby.
-
Form Builder
- Abracadabra - The gem that swaps out text with a fully-compliant Rails form in one click.
- Cocoon - Dynamic nested forms using jQuery made easy; works with formtastic, simple_form or default forms.
Programming Languages
Categories
ORM/ODM Extensions
45
Testing
41
Third-party APIs
30
WebSocket
29
Scientific
27
Code Analysis and Metrics
19
DevOps Tools
19
API Builder and Discovery
18
Database Tools
18
Search
16
Email
15
CLI Utilities
15
Date and Time Processing
15
ORM/ODM
15
Authentication and OAuth
15
E-Commerce and Payments
15
Documentation
15
Abstraction
15
HTTP Clients and tools
14
CLI Builder
14
Web Frameworks
14
Logging
13
PDF
12
CMS
12
Queues and Messaging
12
Core Extensions
12
Database Drivers
11
Assets
11
Natural Language Processing
11
Caching
11
Profiler and Optimization
11
Configuration
11
Internationalization
10
Package Management
10
Git Tools
10
State Machines
9
Error Handling
9
Country Data
9
Form Builder
8
Authorization
8
Code Formatting
8
Web Servers
8
Environment Management
8
Mobile Development
8
Machine Learning
8
Spreadsheets and Documents
7
Admin Interface
7
Analytics
7
File Upload
7
Coding Style Guides
7
Image Processing
7
Data Visualization
7
Static Site Generation
7
Social Networking
7
Debugging Tools
7
IRB
7
Web Crawling
7
HTML/XML Parsing
6
Cloud
6
Navigation
6
Template Engine
6
Performance Monitoring
6
Security
6
RSS
6
Rails Application Generators
6
Ebook
6
Process Management and Monitoring
6
View helpers
6
Concurrency and Parallelism
5
Geolocation
5
Encryption
5
Implementations/Compilers
5
Scheduling
5
Feature Flippers and A/B Testing
5
Pagination
4
GUI
4
GraphQL
4
Captchas and anti-spam
4
SEO
4
Music and Sound
4
Markdown Processors
4
File System Listener
4
Money
3
Optimizations
3
Networking
3
Processes
3
Dashboards
3
Diff
3
Automation
2
Measurements
2
Code Highlighting
2
Robotics
2
Data Processing and ETL
2
Video
2
Decorators
2
Cryptocurrencies and Blockchains
2
Gem Generators
2
Serverless
2
Code Loaders
1
Game Development
1
CRM
1
QR
1
Presentation Programs
1
Sub Categories
Keywords
ruby
243
rails
86
activerecord
26
ruby-on-rails
16
gem
13
api
11
http
10
rack
9
sinatra
9
ruby-gem
9
rubygems
8
rubyml
8
database
8
terminal
7
testing
7
machine-learning
7
redis
7
jruby
6
static-analysis
6
rspec
6
authorization
6
automation
6
security
5
postgresql
5
logging
5
markdown
5
orm
5
graphql
5
sql
5
elasticsearch
5
rubygem
4
cli
4
performance
4
background-jobs
4
events
4
pdf
4
state-machine
4
server
4
monitoring
4
scheduler
4
javascript
4
rubynlp
4
ios
4
dsl
4
postgres
4
search
4
authentication
4
productivity
3
fast
3
mongodb
3