awesome-ruby
A collection of awesome Ruby libraries, tools, frameworks and software
https://github.com/eric-erki/awesome-ruby
Last synced: 9 days 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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
Code Highlighting
- CodeRay - Fast and easy syntax highlighting for selected languages.
- pygments.rb - A Ruby wrapper for the Python pygments syntax highlighter.
-
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.
-
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.
- RailsConfig - Multi-environment yaml settings for Rails3.
-
Core Extensions
- Addressable - Addressable is a replacement for the URI implementation that is part of Ruby's standard library. It more closely conforms to RFC 3986, RFC 3987, and RFC 6570 (level 4), providing support for IRIs and URI templates.
- Finishing Moves - Small, focused, incredibly useful methods added to core Ruby classes. Includes the endlessly useful `nil_chain`.
- 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.
-
Country Data
Programming Languages
Categories
ORM/ODM Extensions
44
Testing
41
Third-party APIs
29
Scientific
27
WebSocket
22
Code Analysis and Metrics
19
Database Tools
18
DevOps Tools
18
API Builder and Discovery
18
Search
16
Abstraction
15
Email
15
CLI Utilities
15
ORM/ODM
15
Date and Time Processing
15
E-Commerce and Payments
15
Authentication and OAuth
15
Documentation
14
HTTP Clients and tools
14
Logging
13
CLI Builder
13
Web Frameworks
12
PDF
12
Caching
11
Natural Language Processing
11
Profiler and Optimization
11
Configuration
11
Queues and Messaging
11
CMS
11
Internationalization
10
Git Tools
10
Database Drivers
10
Assets
10
Core Extensions
9
State Machines
9
Error Handling
9
Package Management
9
Country Data
9
Authorization
8
Environment Management
8
Form Builder
8
Web Servers
8
Machine Learning
8
Mobile Development
8
Image Processing
7
Coding Style Guides
7
Social Networking
7
Spreadsheets and Documents
7
File Upload
7
Web Crawling
7
Analytics
7
Debugging Tools
7
Navigation
6
Performance Monitoring
6
Process Management and Monitoring
6
Data Visualization
6
Code Formatting
6
Template Engine
6
RSS
6
IRB
6
Rails Application Generators
6
HTML/XML Parsing
6
Ebook
6
View helpers
5
Implementations/Compilers
5
Feature Flippers and A/B Testing
5
Encryption
5
Scheduling
5
Geolocation
5
Security
5
Admin Interface
5
Cloud
5
Music and Sound
4
File System Listener
4
GUI
4
GraphQL
4
Pagination
4
Static Site Generation
4
Markdown Processors
4
Captchas and anti-spam
4
SEO
4
Concurrency and Parallelism
4
Optimizations
3
Networking
3
Processes
3
Dashboards
3
Money
3
Diff
3
Decorators
2
Measurements
2
Automation
2
Code Highlighting
2
Robotics
2
Video
2
Serverless
2
Cryptocurrencies and Blockchains
2
Data Processing and ETL
1
CRM
1
Presentation Programs
1
QR
1
Game Development
1
Gem Generators
1
Code Loaders
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