awesome-ruby
A collection of awesome Ruby libraries, tools, frameworks and software
https://github.com/eric-erki/awesome-ruby
Last synced: about 1 hour ago
JSON representation
-
Abstraction
- dry-rb - dry-rb is a collection of next-generation Ruby libraries, each intended to encapsulate a common task.
- ActiveInteraction - Manage application specific business logic.
- Apotomo - Based on Cells, Apotomo gives you widgets and encapsulation, bubbling events, AJAX page updates, rock-solid testing and more.
- Cells - View Components for Rails.
- Decent Exposure - A helper for creating declarative interfaces in controllers.
- Docile - A tiny library that lets you map a DSL (domain specific language) to your Ruby objects in a snap.
- Interactor - Interactor provides a common interface for performing complex interactions in a single request.
- Light Service - Series of Actions with an emphasis on simplicity.
- Mutations - Compose your business logic into commands that sanitize and validate input.
- Rails Event Store (RES) - A library for publishing, consuming, storing and retrieving events. It's your best companion for going with an event-driven architecture for your Rails application.
- Surrounded - Encapsulated related objects in a single system to add behavior during runtime. Extensible implementation of DCI.
- Trailblazer - Trailblazer is a thin layer on top of Rails. It gently enforces encapsulation, an intuitive code structure and gives you an object-oriented architecture.
- Waterfall - A slice of functional programming to chain ruby services and blocks, thus providing a new approach to flow control.
- wisper - A micro library providing Ruby objects with Publish-Subscribe capabilities.
- ActiveInteraction - Manage application specific business logic.
- Responders - A set of Rails responders to dry up your application.
-
Admin Interface
- ActiveScaffold - ActiveScaffold provides quick and powerful user interfaces for CRUD (create, read, update, delete) operations for Rails applications. It's excellent for generating admin interfaces, managing Data-Heavy Applications, creating Widgets or for quick prototyping. ActiveScaffold is completly customizable and offers a bunch of additional features including searching, pagination, layout control and overrides of fields, forms and templates.
- Administrate - A Rails engine that helps you put together a super-flexible admin dashboard, by Thoughtbot.
- bhf - A simple to use Rails-Engine-Gem that offers an admin interface for trusted user.
- Trestle - A modern, responsive admin framework for Rails. Build a back-end in minutes that will grow with the needs of your application.
- RailsAdmin - A Rails engine that provides an easy-to-use interface for managing your data.
- ActiveAdmin - A Ruby on Rails framework for creating elegant backends for website administration.
- bhf - A simple to use Rails-Engine-Gem that offers an admin interface for trusted user.
- Typus - Ruby on Rails control panel to allow trusted users edit structured content.
-
Analytics
- Ahoy - A solid foundation to track visits and events in Ruby, JavaScript, and native apps.
- Analytical - Gem for managing multiple analytics services in your rails app.
- Gabba - Simple way to send server-side notifications to Google Analytics.
- Impressionist - Rails Plugin that tracks impressions and page views.
- Legato - Model analytics reports and queries against the official Google Analytics Reporting API.
- Rack::Tracker - Rack middleware that can be hooked up to multiple services and exposing them in a unified fashion.
- Staccato - Track analytics into the official Google Analytics Collection API.
-
API Builder and Discovery
- ActiveModel::Serializers - JSON serialization of objects.
- Blanket - A dead simple API wrapper.
- Crepe - The thin API stack.
- Fast JSON API - A lightning fast JSON:API serializer for Ruby Objects.
- Her - an ORM that maps REST resources to Ruby objects. Designed to build applications that are powered by a RESTful API instead of a database.
- jbuilder - Create JSON structures via a Builder-style DSL.
- JSONAPI::Resources - JSONAPI::Resources, or "JR", provides a framework for developing a server that complies with the JSON API specification.
- JSONAPI::Utils - JSONAPI::Utils is built on top of JSONAPI::Resources taking advantage of its resource-driven style and bringing an easy way to build modern JSON APIs with no or less learning curve.
- Jsonite - A tiny, HAL-compliant JSON presenter for your APIs.
- Pliny - Opinionated template Sinatra app for writing excellent APIs in Ruby.
- rabl - General ruby templating with json, bson, xml, plist and msgpack support.
- Rails::API - Rails for API only applications.
- Spyke - Interact with REST services in an ActiveRecord-like manner.
- Version Cake - An unobtrusive way to version APIs in your Rails app.
- versionist - A plugin for versioning Rails based RESTful APIs.
- jsonapi-rb
- Her - an ORM that maps REST resources to Ruby objects. Designed to build applications that are powered by a RESTful API instead of a database.
- Roar - Resource-Oriented Architectures in Ruby.
-
Assets
- Asset Sync - Synchronises Assets between Rails and S3.
- Autoprefixer - Parse CSS and add vendor prefixes to rules by Can I Use.
- Bourbon - A Lightweight Sass Tool Set.
- bower-rails - Bower support for Rails projects.
- Emoji - Exposes the Phantom Open Emoji library unicode/image assets and APIs for working with them.
- Less Rails - The dynamic stylesheet language for the Rails asset pipeline.
- Less - Leaner CSS, in your browser or Ruby.
- Sprockets - Rack-based asset packaging system.
- Torba - Bower-less bundler for Sprockets.
- Webpacker - Use Webpack to manage app-like JavaScript modules in Rails.
- Rails Assets - Bundler to Bower proxy.
-
Authentication and OAuth
- Authlogic - Authlogic is a clean, simple, and unobtrusive ruby authentication solution.
- Clearance - Small and simple email & password based authentication for Rails.
- JWT - JSON Web Token implementation in Ruby.
- Knock - Seamless JWT authentication for Rails API.
- Monban - A very simple and extensible user authentication library for rails.
- OmniAuth - A library that standardizes multi-provider authentication utilizing Rack middleware.
- Rodauth - Authentication and account management framework for Rack applications.
- Shield - Authentication protocol for use in your routing and model context.
- Sorcery - Magical Authentication for Rails 4, and Rails 5.
- warden - General Rack Authentication Framework.
- Doorkeeper - An OAuth2 provider for Rails.
- OAuth2 - A Ruby wrapper for the OAuth 2.0 protocol.
- Devise - A flexible authentication solution for Rails based on Warden.
- Monban - A very simple and extensible user authentication library for rails.
- warden - General Rack Authentication Framework.
-
Authorization
- acl9 - Acl9 is a role-based authorization system that provides a concise DSL for securing your Rails application.
- AccessGranted - Multi-role and whitelist based authorization gem for Rails.
- ActionPolicy - Authorization framework for Ruby and Rails applications. Composable, extensible and performant.
- Authority - ORM-neutral way to authorize actions in your Rails app.
- CanCanCan - Continuation of CanCan, an authorization Gem for Ruby on Rails.
- Declarative Authorization - An authorization Rails plugin using a declarative DSL for specifying authorization rules in one place.
- Petergate - Easy to use and read action and content based authorizations.
- Pundit - Minimal authorization through OO design and pure Ruby classes.
-
Automation
-
Caching
- redis-store - Redis Store provides a full set of stores (Cache, I18n, Session, HTTP Cache) for modern Ruby frameworks like: Ruby on Rails, Sinatra, Rack, Rack::Cache and I18n. It supports object marshalling, timeouts, single or multiple nodes, and namespaces.
- Action caching for Action Pack - Action caching for Action Pack.
- Dalli - A high performance pure Ruby client for accessing memcached servers.
- Garner - A set of Rack middleware and cache helpers that implement various caching strategies.
- IdentityCache - A blob level caching solution to plug into ActiveRecord.
- Kashmir - Kashmir is a Ruby DSL that makes serializing and caching objects a snap.
- Readthis - High performance, pooled, ActiveSupport compliant caching with Redis.
- Record Cache - Cache Active Model Records in Rails 3.
- Second Level Cache - Write-Through and Read-Through caching library for ActiveRecord 4.
- redis-store - Redis Store provides a full set of stores (Cache, I18n, Session, HTTP Cache) for modern Ruby frameworks like: Ruby on Rails, Sinatra, Rack, Rack::Cache and I18n. It supports object marshalling, timeouts, single or multiple nodes, and namespaces.
- Dalli - A high performance pure Ruby client for accessing memcached servers.
-
Captchas and anti-spam
- Invisible Captcha - Unobtrusive and flexible spam protection based on the honeypot strategy. It also provides a time-sensitive form submission.
- Rakismet - Easy Akismet and TypePad AntiSpam integration for Rails.
- reCAPTCHA - reCaptcha API helpers for ruby apps.
- Voight-Kampff - A Ruby gem that detects bots, spiders, crawlers and replicants.
-
CLI Builder
- Clamp - A command-line application framework.
- Commander - The complete solution for Ruby command-line executables.
- GLI - Git-Like Interface Command Line Parser.
- Hanami CLI - General purpose Command Line Interface (CLI) framework for Ruby.
- Main - A class factory and DSL for generating command line programs real quick.
- Optimist - A commandline option parser for Ruby that just gets out of your way.
- Rake - A make-like build utility for Ruby.
- Slop - Simple Lightweight Option Parsing.
- Terrapin - A small command line library (Formerly Cocaine).
- Thor - A toolkit for building powerful command-line interfaces.
- TTY - Toolbox for developing CLI clients.
- Thor - A toolkit for building powerful command-line interfaces.
- TTY - Toolbox for developing CLI clients.
-
CLI Utilities
- Awesome Print - Pretty print your Ruby objects with style -- in full color and with proper indentation
- Betty - Friendly English-like interface for your command line. Don't remember a command? Ask Betty.
- colorize - Extends String class or add a ColorizedString with methods to set text color, background color and text effects.
- colorls - Beautifies the `ls` command, with color and font-awesome icons.
- formatador - STDOUT text formatting.
- Paint - Simple and fast way to set ANSI terminal colors.
- Pastel - Terminal output styling with intuitive and clean API.
- Ru - Ruby in your shell.
- Ruby/Progressbar - The most flexible text progress bar library for Ruby.
- Tabulo - Ruby ASCII table generator. Produce highly readable terminal tables, even from large, unwieldy data sets and streams.
- TablePrint - Slice your data from multiple DB tables into a single CLI view.
- Terminal Table - Ruby ASCII Table Generator, simple and feature rich.
- Tmuxinator - Create and manage complex tmux sessions easily.
- Whirly - A simple, colorful and customizable terminal spinner library for Ruby.
- Pastel - Terminal output styling with intuitive and clean API.
-
Cloud
- AWS SDK for Ruby - The official AWS SDK for Ruby.
- browse-everything - Multi-provider Rails engine providing access to files in cloud storage.
- Fog - The Ruby cloud services library.
- humidifier - Programmatically generate and manage AWS CloudFormation templates, stacks, and change sets.
- humidifier - Programmatically generate and manage AWS CloudFormation templates, stacks, and change sets.
- browse-everything - Multi-provider Rails engine providing access to files in cloud storage.
-
CMS
- Alchemy CMS - A powerful, userfriendly and flexible Open Source Rails CMS.
- Camaleon CMS - A dynamic and advanced content management system based on Ruby on Rails 4.
- PushType - A next generation, open source content management system for Ruby on Rails.
- Radiant - A no-fluff, open source content management system designed for small teams.
- ComfortableMexicanSofa - Powerful Rails 5.2+ CMS Engine.
- Fae - Flexible, open source, Rails CMS engine.
- Publify - A self hosted Web publishing platform on Rails.
- Storytime - Rails 4+ CMS and bloging engine, with a core focus on content.
- Camaleon CMS - A dynamic and advanced content management system based on Ruby on Rails 4.
- Refinery CMS - An open source Ruby on Rails content management system for Rails 5.2+.
- PushType - A next generation, open source content management system for Ruby on Rails.
- Spina CMS - A beautiful CMS for Rails developers.
-
Code Analysis and Metrics
- Barkeep - Barkeep is a fast, fun way to review code. Engineering organizations can use it to keep the bar high.
- Brakeman - A static analysis security vulnerability scanner for Ruby on Rails applications.
- Cane - Code quality threshold checking as part of your build.
- Coverband - Rack middleware to help measure production code coverage.
- Fasterer - Make your Rubies go faster with this command line tool highly inspired by fast-ruby and Sferik's talk at Baruco Conf.
- Flay - Flay analyzes code for structural similarities. Differences in literal values, variable, class, method names, whitespace, programming style, braces vs do/end, etc are all ignored. Making this totally rad.
- Flog - Flog reports the most tortured code in an easy to read pain report. The higher the score, the more pain the code is in.
- fukuzatsu - Complexity analysis tool with a rich web front-end.
- MetricFu - A fist full of code metrics.
- Pippi - A utility for finding suboptimal Ruby class API usage, focused on runtime analysis.
- Reek - Code smell detector for Ruby.
- Rubycritic - A Ruby code quality reporter.
- Scientist - A Ruby library for carefully refactoring critical paths.
- Sorbet - A static type checker for Ruby.
- Suture - A Ruby gem that helps you refactor your legacy code.
- Traceroute - A Rake task gem that helps you find the dead routes and actions for your Rails 3+ app
- Pronto - Quick automated code review of your changes.
- rails_best_practices - A code metric tool for rails projects.
- SimpleCov - Code coverage for Ruby 1.9+ with a powerful configuration library and automatic merging of coverage across test suites.
-
Code Formatting
- prettier - A prettier plugin for the Ruby language.
- Rubocop Rails - A RuboCop extension focused on enforcing Rails best practices and coding conventions.
- Rubocop Rspec - Code style checking for RSpec files
- Rubocop Performance - A RuboCop extension focused on code performance checks.
- Rubocop Performance - A RuboCop extension focused on code performance checks.
- RuboCop - A static code analyzer, based on the community Ruby style guide.
- Rubocop Rails - A RuboCop extension focused on enforcing Rails best practices and coding conventions.
- Rubocop Rspec - Code style checking for RSpec files
-
Code Highlighting
- CodeRay - Fast and easy syntax highlighting for selected languages.
- pygments.rb - A Ruby wrapper for the Python pygments syntax highlighter.
- pygments.rb - A Ruby wrapper for the Python pygments syntax highlighter.
- Rouge - A pure Ruby code highlighter that is compatible with Pygments.
-
Code Loaders
- Zeitwerk - An efficient and thread-safe Ruby code loader.
-
Coding Style Guides
- Best-Ruby - Ruby Tricks, Idiomatic Ruby, Refactoring & Best Practices.
- fast-ruby - Writing Fast Ruby. Collect Common Ruby idioms.
- Fundamental Ruby - Fundamental programming ruby with examples. Threads, design patterns, data structures, OOP SOLID principle, algorithms.
- fast-ruby - Writing Fast Ruby. Collect Common Ruby idioms.
- Rails style guide - Community-driven Rails best practices and style for Rails 3 and 4.
- RSpec style guide - Better Specs { rspec guidelines with ruby }.
- Ruby style guide - Community-driven Ruby coding style.
- Ruby Operators - A webpage showing awesome names for different Ruby operators.
-
Concurrency and Parallelism
- Concurrent Ruby - Modern concurrency tools including agents, futures, promises, thread pools, supervisors, and more. Inspired by Erlang, Clojure, Scala, Go, Java, JavaScript, and classic concurrency patterns.
- EventMachine - An event-driven I/O and lightweight concurrency library for Ruby.
- forkoff - brain-dead simple parallel processing for ruby.
- Parallel - Run any code in parallel Processes (> use all CPUs) or Threads (> speedup blocking operations).
-
Configuration
- Chamber - Surprisingly customizable convention-based approach to managing your app's configuration.
- Configatron - Simple and feature rich configuration system for Ruby apps.
- Configus - Helps you easily manage environment specific settings.
- dotenv - Loads environment variables from `.env`.
- Econfig - Flexible configuration for Rails applications.
- ENVied - ensure presence and type of your app's ENV-variables
- Envyable - The simplest YAML to ENV config loader.
- Figaro - Simple, Heroku-friendly Rails app configuration using `ENV` and a single YAML file.
- Global - Provides accessor methods for your configuration data.
- Sail - A lightweight Rails engine that brings an admin panel for managing configuration settings on a live Rails app.
Programming Languages
Categories
ORM/ODM Extensions
45
Testing
43
Third-party APIs
30
Scientific
28
WebSocket
27
Code Analysis and Metrics
19
DevOps Tools
19
API Builder and Discovery
18
Database Tools
18
Abstraction
16
Search
16
ORM/ODM
15
Authentication and OAuth
15
Email
15
CLI Utilities
15
Documentation
15
E-Commerce and Payments
15
Date and Time Processing
15
Web Frameworks
14
HTTP Clients and tools
14
Logging
13
CLI Builder
13
CMS
12
PDF
12
Core Extensions
12
Configuration
12
Queues and Messaging
12
Profiler and Optimization
11
Caching
11
Database Drivers
11
Natural Language Processing
11
Assets
11
Package Management
10
Web Servers
10
Internationalization
10
Git Tools
10
Country Data
9
State Machines
9
Error Handling
9
Admin Interface
8
Coding Style Guides
8
Form Builder
8
Machine Learning
8
Mobile Development
8
Authorization
8
Environment Management
8
Code Formatting
8
Web Crawling
7
Spreadsheets and Documents
7
Analytics
7
File Upload
7
Social Networking
7
Debugging Tools
7
Image Processing
7
View helpers
6
Process Management and Monitoring
6
Navigation
6
Performance Monitoring
6
Ebook
6
HTML/XML Parsing
6
Cloud
6
Static Site Generation
6
Rails Application Generators
6
IRB
6
RSS
6
Template Engine
6
Data Visualization
5
Scheduling
5
Feature Flippers and A/B Testing
5
Implementations/Compilers
5
Encryption
5
Geolocation
5
Security
5
Pagination
4
Concurrency and Parallelism
4
File System Listener
4
Music and Sound
4
Markdown Processors
4
GUI
4
SEO
4
Code Highlighting
4
GraphQL
4
Captchas and anti-spam
4
Processes
3
Optimizations
3
Dashboards
3
Diff
3
Money
3
Cryptocurrencies and Blockchains
3
Networking
3
Video
2
Robotics
2
Serverless
2
Decorators
2
Automation
2
Measurements
2
Game Development
1
Gem Generators
1
Data Processing and ETL
1
Presentation Programs
1
QR
1
Code Loaders
1
CRM
1
Sub Categories
Keywords
ruby
243
rails
86
activerecord
26
ruby-on-rails
16
gem
13
api
11
http
10
ruby-gem
9
sinatra
9
rack
9
rubyml
8
database
8
rubygems
8
redis
7
machine-learning
7
testing
7
terminal
7
authorization
6
jruby
6
automation
6
static-analysis
6
rspec
6
security
5
postgresql
5
elasticsearch
5
sql
5
logging
5
orm
5
graphql
5
markdown
5
performance
4
search
4
rubygem
4
postgres
4
scheduler
4
background-jobs
4
pdf
4
events
4
authentication
4
server
4
dsl
4
ios
4
state-machine
4
cli
4
javascript
4
rubynlp
4
monitoring
4
thoughtbot
3
sidekiq
3
git
3