Top Gems to speed up development progress
In addition to the MVC pattern, Rails accentuates the employment of other popular software engineering designs and paradigms, comprising active record pattern, don’t repeat yourself (DRY), and convention over configuration (CoC). Shopify, GitHub, Netflix, Hulu, Airbnb, and Groupon are some of the popular companies that use Ruby on Rails.
Simple, Heroku-friendly Rails app configuration using
ENV and a single YAML file.
Figaro supports loading ENV variables for each environment mode. You should add application.yml to .gitignore for private sharing
Letter Opener helps to send and track the sending email in development mode. When the email is sent, it will open the window in the current browser for opening the email content. It's simple to set up with this gem as well
config.action_mailer.delivery_method = :letter_opener
config.action_mailer.perform_deliveries = true
Pry helps the developer to easily debug the working flow of the current Rails app, therefore help us to speed up the progress of debugging and find out the problem issues. We need to be familiar with this gem when working on any Rails project
This gem permits its developers to make the breakpoints and device a code debugging gradually. Pry has an exclusive collection of traits, which comprises runtime invocation, syntax highlighting, exotic object support, command shell integration, flexible and influential command scheme
Devise is the gem that you can easily meet in any Rails projects, not only small but also with large-scale system
Devise gem is one of the best ruby on rails gems of 2019. It makes the work easy and operative. Devise take account of 10 modules, namely, Database Authenticatable, Omniauthable, Confirmable, Registrable, Trackable, Lockable, Recoverable, Rememberable, Timeoutable, Validatable, and FriendlyId. The resource URLs are effortlessly recognized by the main key (database ID) of every module
It's a good gem for paginating, with simple code like .page and .per, no need to do extra setup after installing
With approximately five million downloads, Kaminari gets the top position in the list of most standard Rails Gems. You can paginate everything by employing this gem. Such pagination can be executed from ActiveRecord imports to simpler arrays by utilizing an easy-to-use scope-based application programming interface (API)
Other helpful gems from Awesome Ruby https://awesome-ruby.com/
- ActiveAdmin - A Ruby on Rails framework for creating elegant backends for website administration.
- 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.
- Impressionist - Rails Plugin that tracks impressions and page views.
- Legato - Model analytics reports and queries against the official Google Analytics Reporting API.
- ActiveModel::Serializers - JSON serialization of objects.
- Acts_As_Api - Easy And Fun, in creating XML/JSON responses in Rails 3,4,5 and 6.
- Blanket - A dead simple API wrapper.
- Blueprinter - Simple, Fast, and Declarative Serialization Library for Ruby.
- Crepe - The thin API stack.
- Grape - An opinionated micro-framework for creating REST-like APIs in Ruby.
- Authlogic - Authlogic is a clean, simple, and unobtrusive ruby authentication solution.
- Clearance - Small and simple email & password based authentication for Rails.
- Devise - A flexible authentication solution for Rails based on Warden.
- 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.
- 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.
- CanCanCan - Continuation of CanCan, an authorization Gem for Ruby on Rails.
- Clamp - A command-line application framework.
- cmdparse - An advanced command line parser supporting nested commands.
- 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.
- 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.
- ComfortableMexicanSofa - Powerful Rails 5.2+ CMS Engine.
- Fae - Flexible, open source, Rails CMS engine.
- LocomotiveCMS - A simple but powerful CMS based on Liquid templates and Mongodb database.
- Publify - A self hosted Web publishing platform on Rails.
- 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.
- Refinery CMS - An open source Ruby on Rails content management system for Rails 5.2+.
- Brakeman - A static analysis security vulnerability scanner for Ruby on Rails applications.
- 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.