awesome-rails-gem
by hothero
A collection of awesome Ruby Gems for Rails development.
AI summary
Rails gems catalog
A curated collection of reusable Ruby Gems for building and maintaining Rails applications.
- stars
- 2.8K
- forks
- 286
- watching
- 111
- awesome lists
- 4
- entries
- 145
What's in the list
145 links in 37 sections, with live GitHub stats.activeno commit in 2y
User / Authentication
Devise
Devise is a flexible authentication solution for Rails based on Warden
Knock
Seamless JWT authentication for Rails API
Clearance
Rails authentication with email & password
Devise token auth
Token based authentication for Rails JSON APIs
Sorcery
Magical Authentication for Rails. Supports ActiveRecord, DataMapper, Mongoid and MongoMapper
User / Authorization
Pundit
Pundit provides a set of helpers which guide you in leveraging regular Ruby classes and object oriented design patterns to build a simple, robust and scaleable authorization system
cancancan
Continuation of CanCan, the authorization Gem for Ruby on Rails.CanCan is an authorization library for Ruby on Rails which restricts what resources a given user is allowed to access. All permissions are defined in a single location (the Ability class) and not duplicated across controllers, views, and database queries
rolify
Role management library with resource scoping
acl9
Acl9 is a role-based authorization system that provides a concise DSL for securing your Rails application
User / Omniauth
Active Record
Enumerize
Enumerated attributes with I18n and ActiveRecord/Mongoid support. It can be integrated with Simple Form
counter_culture
Turbo-charged counter caches for your Rails app. Huge improvements over the Rails standard counter caches
custom_counter_cache
A simple approach to creating a custom counter cache that can be used across multiple models
Sequenced
Sequenced is a simple gem that generates scoped sequential IDs for ActiveRecord models
FriendlyId
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, Rails Active Record, Mongoid)
PaperTrail
PaperTrail lets you track changes to your models' data. It's good for auditing or versioning
paranoia
ActiveRecord plugin allowing you to hide and restore records without actually deleting them
Validates
Validates provides collection of useful custom validators for Rails applications, including:
globalize
Rails I18n de-facto standard library for ActiveRecord model/data translation
deep_cloneable
This gem gives every ActiveRecord::Base object the possibility to do a deep clone that includes user specified associations
public_activity
Easy activity tracking for models - similar to Github's Public Activity
goldiloader
Automatic ActiveRecord eager loading to reduce the number of database queries run by your application
Active Record / Tagging
ActsAsTaggableOn
A tagging plugin for Rails applications that allows for custom tagging along dynamic contexts
closure_tree
Easily and efficiently make your ActiveRecord models support hierarchies
Active Record
ActionStore
Store different kind of actions (Like, Follow, Star, Block ...) in one table via ActiveRecord Polymorphic Association
Plugins
Spreadsheet
Library is designed to read and write Spreadsheet Documents
Chartkick
Chartkick helps your to create beautiful Javascript charts with one line of Ruby
kaminari
A Scope & Engine based, clean, powerful, customizable and sophisticated paginator for Rails 3 and 4
CKEditor
CKEditor is a WYSIWYG text editor designed to simplify web content creation. It brings common word processing features directly to your web pages. Enhance your website experience with our community maintained editor
HTML::Pipeline
GitHub HTML processing filters and utilities. This module includes a small framework for defining DOM based content filters and applying them to user provided content
Slack Notifier
is a simple wrapper to send notifications to webhooks
Rails ERD
Generate Entity-Relationship Diagrams for Rails applications
Parity
Shell commands for development, staging, and production parity for Heroku apps
Airbrussh
Airbrussh pretties up your SSHKit and Capistrano output
API
Grape
Microframework to create REST-ful APIs in Ruby
ActiveModel::Serializers
Serializer brings convention over configuration to your JSON generation
Jbuilder
Jbuilder gives you a simple DSL for declaring JSON structures that beats massaging giant hash structures. This is particularly helpful when the generation process is fraught with conditionals and loops
rest-client
Simple HTTP and REST client for Ruby, inspired by microframework syntax for specifying actions
has_scope
Map incoming controller parameters to named scopes in your resources
API / Documentation
Grape Swagger
Autogenerate documentation on Grape API
Grape Swagger UI
Display documentation that is generated using Grape Swagger
- apiary
Work together to quickly design, prototype, document and test APIs
- apiblueprint
API Documentation with powerful tooling
letter_opener
Preview mail in the browser instead of sending
File Uploading
Carrierwave
Carrierwave is a classier solution for file uploads for Rails, Sinatra and other Ruby web frameworks
File Uploading / Carrierwave
carrierwave_backgrounder
Offload CarrierWave's image processing and storage to a background process using Delayed Job, Resque, Sidekiq, Qu, Queue Classic or Girl Friday
CarrierWave Crop
Carrierwave extension to crop uploaded images using Jcrop plugin with preview
CarrierWave ImageOptimizer
This gem allows you to simply optimize CarrierWave images via jpegoptim or optipng using the image_optimizer gem
File Uploading
remotipart
Rails jQuery file uploads via standard Rails "remote: true" forms
MiniMagick
MiniMagick is a ruby wrapper for ImageMagick or GraphicsMagick command line
fog
Fog is the Ruby cloud services library, top to bottom
refile
Refile is a modern file upload library for Ruby applications. It is simple, yet powerful
Paperclip
Easy file attachment management for ActiveRecord
- Dragonfly
Dragonfly is for on-the-fly file processing - suitable for images or other attachments
shrine
-File Attachment toolkit for Ruby applications
Searching
ransack
Ransack enables the creation of both simple and advanced search forms for your Ruby on Rails application
elasticsearch-rails
Elasticsearch integrations for ActiveModel/Record and Ruby on Rails
Chewy
High-level Elasticsearch Ruby framework based on the official elasticsearch-ruby client
pg_search
pg_search builds ActiveRecord named scopes that take advantage of PostgreSQL's full text search
sunspot
Sunspot is a Ruby library for expressive, powerful interaction with the Solr search engine. Sunspot is built on top of the RSolr library, which provides a low-level interface for Solr interaction; Sunspot provides a simple, intuitive, expressive DSL backed by powerful features for indexing objects and searching for them
searchkick
Intelligent search made easy with Rails and Elasticsearch
Scheduled/Recurrence Jobs
Whenever
Whenever is a Ruby gem that provides a clear syntax for writing and deploying cron jobs
Resque
Redis-backed Ruby library for creating background jobs, placing them on multiple queues, and processing them later
Rufus-Scheduler
Rufus-scheduler is a Ruby gem for scheduling pieces of code (jobs). It understands running a job AT a certain time, IN a certain time, EVERY x time or simply via a CRON statement
Delayed Job
Database based asynchronous priority queue system
Sidekiq
Simple, efficient background processing for Ruby
Scheduled/Recurrence Jobs / Sidekiq
- sidetiq
Recurring jobs for sidekiq
sidekiq-cron
Scheduler / Cron for Sidekiq jobs
sidekiq-scheduler
Lightweight job scheduler extension for Sidekiq
Scheduled/Recurrence Jobs
Sucker Punch
Sucker punch is a single-process Ruby asynchronous processing library
View Helper
formtastic
Formtastic is a Rails FormBuilder DSL (with some other goodies) to make it far easier to create beautiful, semantically rich, syntactically awesome, readily stylable and wonderfully accessible HTML forms in your Rails applications
Simple Form
Simple form aims to be as flexible as possible while helping you with powerful components to create your forms. The basic goal of Simple Form is to not touch your way of defining the layout, letting you find the better design for your eyes
Nested Form
This is a Rails gem for conveniently manage multiple nested models in a single form. It does so in an unobtrusive way through jQuery or Prototype. It can also be integrated with Simple Form
active_link_to
active_link_to adds css 'active' class to your links
cells
Cells allow you to encapsulate parts of your UI into components into view models. View models, or cells, are simple ruby classes that can render templates
i18n Country Code Select
I18n Country Code Select Form Helper for Rails 3 & 4
Subdivision Select
A Rails plugin to populate a state/province select box from country_select
cocoon
Dynamic nested forms using jQuery made easy
Environment Variables
Config
Multi-environment YAML style configurations that helps easily manage environment specific settings in an easy and usable manner
Figaro
Figaro is very simple, Heroku-friendly Rails app configuration using ENV and a single YAML file
dotenv
Dotenv is a gem that allows you to set your environment variables in .env file, and it will load it in to ENV
opsworks-dotenv
Opsworks-dotenv let you configure the environment for you Rails application using OpsWorks, Chef and Dotenv
Admin Panel
- ActiveAdmin
ActiveAdmin is a administration framework for Ruby on Rails applications
Admin Panel / ActiveAdmin
active_skin
: Flat skin for active admin
Admin Panel
RailsAdmin
RailsAdmin is a Rails engine that provides an easy-to-use interface for managing your data
- Typus
Typus is a control panel for Ruby on Rails applications to allow trusted users edit structured content
administrate
A Rails engine that helps you put together a super-flexible admin dashboard
Trestle
A modern, responsive admin framework for Ruby on Rails
Logging
Impressionist
Impressionist can log page impressions (technically action impressions), but it is not limited to that. You can log impressions multiple times per request. And you can also attach it to a model. The goal of this project is to provide customizable stats that are immediately accessible in your application as opposed to using Google Analytics and pulling data using their API
Ahoy
Ahoy provides a solid foundation to track visits and events in Ruby, JavaScript, and native apps
Lograge
An attempt to tame Rails' default policy to log everything
Debug
byebug
Byebug is a simple to use, feature rich debugger for Ruby 2. It uses the new TracePoint API for execution control and the new Debug Inspector API for call stack navigation, so it doesn't depend on internal core sources
Debug / byebug
pry-byebug
Pry navigation commands via byebug
Debug
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
awesome_print
Awesome Print is a Ruby library that pretty prints Ruby objects in full color exposing their internal structure with proper indentation
web-console
Web Console is a debugging tool for your Ruby on Rails applications
spring
Spring is a Rails application preloader. It speeds up development by keeping your application running in the background so you don't need to boot it every time you run a test, rake task or migration
rails-footnotes
Rails footnotes displays footnotes in your application for easy debugging, such as sessions, request parameters, cookies, filter chain, routes, queries, etc
g
The Kernel.g that works like Kernel.p by using terminal-notifier or growl
terminal-notifier
terminal-notifier is a command-line tool to send Mac OS X User Notifications, which are available in Mac OS X 10.8 and higher
letter_opener
Preview email in the default browser instead of sending it. This means you do not need to set up email delivery in your development environment, and you no longer need to worry about accidentally sending a test email to someone else's address
Better Errors
Better errors replaces the standard Rails error page with a much better and more useful error page
Debug / Better Errors
binding_ _of__caller
If you would like to use Better Errors' advanced features (REPL, local/instance variable inspection, pretty stack frame names), you need to add the
Debug
RailsPanel
RailsPanel is a Chrome extension for Rails development that will end your tailing of development.log
Coding Style
RuboCop
Rubocop is a Ruby static code analyzer. Out of the box it will enforce many of the guidelines outlined in the community
Rails Best Practice
Rails best practice is a code metric tool to check the quality of rails codes
Metric Fu
A fist full of code metrics
Pronto
Quick automated code review of your changes
Testing
rspec-rails
Rspec-rails is a testing framework for Rails 3.x and 4.x
Capybara
Capybara helps you test web applications by simulating how a real user would interact with your app. And drivers:
Testing / Capybara
capybara-webkit
Capybara-webkit is a capybara driver that uses Webkit via QtWebkit
selenium-webdriver
Selenium-webdriver provides ruby bindings for WebDriver
poltergeist
Poltergeist allows you to run your Capybara tests on a headless WebKit browser, provided by PhantomJS
page-object
Page-object is a simple gem that assists in creating flexible page objects for testing browser based applications
Testing
factory_bot
Factory_bot is a fixtures replacement with a straightforward definition syntax, support for multiple build strategies (saved instances, unsaved instances, attribute hashes, and stubbed objects), and support for multiple factories for the same class (user, admin_user, and so on), including factory inheritance
factory_bot_rails
Factory_bot_rails provides Rails integration for factory_bot
factory_factory_girl
FactoryFactoryGirl lets you generate factory files more efficiently with naming rules
Database Cleaner
Database Cleaner is a set of strategies for cleaning your database in Ruby.Support ActiveRecord, DataMapper, Sequel, MongoMapper, Mongoid, CouchPotato, Ohm and Redis
shoulda-matchers
Shoulda-matchers provides serveral matchers for testing common Rails functionality
ResponseCodeMatchers
ResponseCodeMatchers provides rspec matchers to match http response code
SimpleCov
SimpleCov is a code coverage analysis tool for Ruby
Timecop
A gem providing "time travel" and "time freezing" capabilities, making it dead simple to test time-dependent code
VCR
Record your test suite's HTTP interactions and replay them during future test runs for fast, deterministic, accurate tests
Testing / Security
brakeman
Brakeman is a static analysis tool which checks Ruby on Rails applications for security vulnerabilities
bundle-audit
bundler-audit is a patch-level verification tool for Bundler which checks for vulnerable versions of gems and insecure gem sources
Secure Headers
Secure Headers will automatically apply several headers that are related to security
Production
Capistrano
Remote multi-server automation tool
Slowpoke
Rack::Timeout is great. Slowpoke makes it better
Rack Attack
Rack middleware to blocking & throttling
Responders
A set of Rails responders to dry up your application
production_rails
Best practices for running Rails in production
Mina
fast deployer and server automation tool
Error Logging
Database
rails_db
Rails Database Viewer and SQL Query Runner
Asset Pipeline
Alaska
ExecJS runtime with persistent connection to nodejs, speeds up your coffeescript compilation process during development and deployment
Nothing in this list matches your filter.
Featured in 4 awesome lists
Each link jumps to the spot where the list mentions awesome-rails-gem.
More related projects
activeadmin/activeadmin9.5K
chanzuckerberg/sorbet-rails637
justalever/kickoff_tailwind579
coderit/hackathon-manager30
scaffeinate/socify376
diowa/icare242
jekuno/milia341
andyobtiva/abstract_feature_branch23
brunofacca/zen-rails-security-checklist1.8K
sharetribe/sharetribe2.4K
ambethia/recaptcha2K
simukappu/activity_notification508