Your first time on this page? Allow me to give some explanations.
Awesome Gems
A collection of awesome Ruby Gems for Rails development.
Here you can see meta information about this topic like the time we last updated this page, the original creator of the awesome list and a link to the original GitHub repository.
Thank you hothero & contributors
View Topic on GitHub:
hothero/awesome-rails-gem
Search for resources by name or description.
Simply type in what you are looking for and the results will be filtered on the fly.
Further filter the resources on this page by type (repository/other resource), number of stars on GitHub and time of last commit in months.
Authentication
Flexible authentication solution for Rails with Warden.
Seamless JWT authentication for Rails API
Rails authentication with email & password.
Token based authentication for Rails JSON APIs. Designed to work with jToker and ng-token-auth.
Magical Authentication
Authorization
Minimal authorization through OO design and pure Ruby classes
The authorization Gem for Ruby on Rails.
Role management library with resource scoping
Yet another role-based authorization system for Rails
Omniauth
Facebook OAuth2 Strategy for OmniAuth
Oauth2 strategy for Google
OmniAuth Oauth2 strategy for weibo.com.
OmniAuth strategy for Twitter
GitHub strategy for OmniAuth
A LinkedIn OAuth2 strategy for OmniAuth.
Active Record
Enumerated attributes with I18n and ActiveRecord/Mongoid support
Turbo-charged counter caches for your Rails app.
Custom counter_cache functionality that supports conditions and multiple models.
Generate scoped sequential IDs for ActiveRecord models
FriendlyId is the “Swiss Army bulldozer” of slugging and permalink plugins for ActiveRecord. It allows you to create pretty URL’s and work with human-friendly strings as if they were numeric ids for ActiveRecord models.
AASM - State machines for Ruby classes (plain Ruby, ActiveRecord, Mongoid, NoBrainer, Dynamoid)
Track changes to your rails models
acts_as_paranoid for Rails 3, 4 and 5
Rails I18n de-facto standard library for ActiveRecord model/data translation.
This gem gives every ActiveRecord::Base object the possibility to do a deep clone that includes user specified associations.
Check how many times url was shared in social networks, e.g. share counts
Easy activity tracking for models - similar to Github's Public Activity
Just the right amount of Rails eager loading
A tagging plugin for Rails applications that allows for custom tagging along dynamic contexts.
Easily and efficiently make your ActiveRecord models support hierarchies
Store different kind of actions (Like ❤️, Follow 👁, Star ⭐, Block ...) in one table via ActiveRecord Polymorphic Association.
Plugins
The Ruby Spreadsheet by ywesee GmbH
Create beautiful JavaScript charts with one line of Ruby
⚡ A Scope & Engine based, clean, powerful, customizable and sophisticated paginator for Ruby webapps
Ckeditor 4.x integration gem for rails
HTML processing filters and utilities
A simple wrapper for posting to slack channels
Generate Entity-Relationship Diagrams for Rails applications
Shell commands for development, staging, and production parity for Heroku apps
Airbrussh pretties up your SSHKit and Capistrano output
API
An opinionated framework for creating REST-like APIs in Ruby.
ActiveModel::Serializer implementation and Rails hooks
Jbuilder: generate JSON objects with a Builder-style DSL
Simple HTTP and REST client for Ruby, inspired by microframework syntax for specifying actions.
Map incoming controller parameters to named scopes in your resources
Add OAPI/swagger v2.0 compliant documentation to your grape API
Swagger UI is a collection of HTML, JavaScript, and CSS assets that dynamically generate beautiful documentation from a Swagger-compliant API.
Preview mail in the browser instead of sending.
File Uploading
Classier solution for file uploads for Rails, Sinatra and other Ruby web frameworks
Offload CarrierWave's image processing and storage to a background process using Delayed Job, Resque, Sidekiq, Qu, Queue Classic or Girl Friday.
Carrierwave extension to crop uploaded images using Jcrop plugin with preview.
This gem allows you to simply optimize CarrierWave images via jpegoptim or optipng.
Rails jQuery file uploads via standard Rails "remote: true" forms.
mini replacement for RMagick
The Ruby cloud services library.
Ruby file uploads, take 3
Easy file attachment management for ActiveRecord
File Attachment toolkit for Ruby applications
Searching
Object-based searching.
Elasticsearch integrations for ActiveModel/Record and Ruby on Rails
High-level Elasticsearch Ruby framework based on the official elasticsearch-ruby client
pg_search builds ActiveRecord named scopes that take advantage of PostgreSQL’s full text search
Solr-powered search for Ruby objects
Intelligent search made easy
Scheduled/Recurrence Jobs
Cron jobs in Ruby
Resque is a Redis-backed Ruby library for creating background jobs, placing them on multiple queues, and processing them later.
scheduler for Ruby (at, in, cron and every jobs)
Database based asynchronous priority queue system -- Extracted from Shopify
Simple, efficient background processing for Ruby
NO LONGER MAINTAINED Recurring jobs for Sidekiq
Scheduler / Cron for Sidekiq jobs
Lightweight job scheduler extension for Sidekiq
Sucker Punch is a Ruby asynchronous processing library using concurrent-ruby, heavily influenced by Sidekiq and girl_friday.
View Helper
A Rails form builder plugin with semantically rich and accessible markup.
Forms made easy for Rails! It's tied to a simple DSL, with no opinion on markup.
Rails plugin to conveniently handle multiple models in a single form.
Search Engine Optimization (SEO) for Ruby on Rails applications.
Rails view helper to manage "active" state of a link
View components for Ruby and Rails.
A Rails select form helper using country codes for I18n translations
A Rails plugin to populate a state/province select box from country_select
Dynamic nested forms using jQuery made easy; works with formtastic, simple_form or default forms
Environment Variables
Easiest way to add multi-environment yaml settings to Rails, Sinatra, Pandrino and other Ruby projects.
Simple Rails app configuration
A Ruby gem to load environment variables from .env
.
Admin Panel
Flat skin for active admin.
RailsAdmin is a Rails engine that provides an easy-to-use interface for managing your data
A Rails engine that helps you put together a super-flexible admin dashboard.
A modern, responsive admin framework for Ruby on Rails
Logging
Rails Plugin that tracks impressions and page views
Simple, powerful, first-party analytics for Rails
An attempt to tame Rails' default policy to log everything.
Debug
Debugging in Ruby 2
Step-by-step debugging and stack navigation in Pry
Rails >= 3 pry initializer
Pretty print your Ruby objects with style -- in full color and with proper indentation
Rails Console on the Browser.
Rails application preloader
Every Rails page has footnotes that gives information about your application and links back to your editor
The Kernel.g that works like Kernel.p by using terminal-notifier or growl.
Send User Notifications on macOS from the command-line.
Preview mail in the browser instead of sending.
Better error page for Rack apps
Retrieve the binding of a method's caller in MRI 1.9.2+
Chrome extension for Rails development
Coding Style
A Ruby static code analyzer and formatter, based on the community Ruby style guide.
a code metric tool for rails projects
Quick automated code review of your changes
Testing
RSpec for Rails 5+
Acceptance test framework for web applications
A Capybara driver for headless WebKit to test JavaScript web apps
Personal import of the selenium-webdriver for ruby
A PhantomJS driver for Capybara
Gem to implement PageObject pattern in watir-webdriver and selenium-webdriver
A library for setting up Ruby objects as test data.
Factory Bot ♥ Rails
A gem that helps you generate your factory files.
Strategies for cleaning databases in Ruby. Can be used to ensure a clean state for testing.
Simple one-liner tests for common Rails functionality
Provide rspec matchers to match http response code
Code coverage for Ruby with a powerful configuration library and automatic merging of coverage across test suites
A gem providing "time travel", "time freezing", and "time acceleration" capabilities, making it simple to test time-dependent code. It provides a unified method to mock Time.now, Date.today, and DateTime.now in a single call.
Record your test suite's HTTP interactions and replay them during future test runs for fast, deterministic, accurate tests.
Security
A static analysis security vulnerability scanner for Ruby on Rails applications
Patch-level verification for Bundler
Manages application of security headers with many safe defaults
Production
Remote multi-server automation tool
Rack::Timeout enhancements for Rails
Rack middleware for blocking & throttling
A set of Rails responders to dry up your application
Best practices for running Rails in production
Blazing fast application deployment tool.
Error Logging
Exception tracking and logging from Ruby to Rollbar
The official Airbrake library for Ruby applications
The open source error catcher that's Airbrake API compliant
Database
Rails Database Viewer and SQL Query Runner
Asset Pipeline
ExecJS runtime with persistent connection to nodejs