List of Useful Ruby Gems When Building Web Apps

ervinismu
pengenpaham
Published in
3 min readAug 6, 2022

--

Photo by Joshua Fuller on Unsplash

The Ruby community created many Gems that are useful for building web applications. When I was building web applications over the last few years using RoR I came across a useful Ruby Gem, I will share it in the list below 💎

Changelogs

I will update this article from time to time if I find more useful ruby gems.

  • 24 Mar 2023 : add testing gems simplecov, factory_bot, faker .
  • 14 Dec 2022 : add administrate in Admin Interface category.
  • 21 Dec 2022 : add soft delete gems in Data Manipulation category.
  • 01 Mar 2022 : add json api section

Categories :

  1. Authentication & Authorization
  2. Admin Interface
  3. Code Analysis
  4. Code Formating
  5. Configuration
  6. Data Manipulation
  7. Debugging Tools
  8. Environment Management
  9. HTTP Client
  10. Logging
  11. Notification
  12. Pagination
  13. PDF
  14. Scheduling
  15. Searching
  16. Testing

Detail :

1 ) Authentication & Authorization

  • Device : Flexible authentication solution for Rails with Warden.
  • Cancan : The authorization Gem for Ruby on Rails.

2 ) Admin Interface

  • Rails Admin : RailsAdmin is a Rails engine that provides an easy-to-use interface for managing your data.
  • Administrate : A Rails engine that helps you put together a super-flexible admin dashboard.

3 ) Code Analysis

  • Brakeman : A static analysis security vulnerability scanner for Ruby on Rails applications
  • Simplecov : Code coverage for Ruby with a powerful configuration library and automatic merging of coverage across test suites

4 ) Code Formating

  • Rubocop : A Ruby static code analyzer and formatter, based on the community Ruby style guide.

5 ) Configuration

  • Figaro : Simple Rails app configuration
  • Dotenv : A Ruby gem to load environment variables from `.env`.

6 ) Data Manipulation

  • Blazer : Business intelligence made simple
  • Chartkick : Create beautiful JavaScript charts with one line of Ruby
  • RailsErd : Generate Entity-Relationship Diagrams for Rails applications
  • Paranoia : Rails soft deleted.
  • Discard : Soft deletes for ActiveRecord done right

7 ) Debugging Tools

  • pry : A runtime developer console and IRB alternative with powerful introspection capabilities.
  • byebug : Debugging in Ruby 2

8 ) Environment Management

  • Rbenv : Manage your app’s Ruby environment
  • RVM : Ruby enVironment Manager (RVM)

9 ) HTTP Client

  • Httparty : 🎉 Makes http fun again!
  • Faraday : Simple, but flexible HTTP client library, with support for multiple backends.
  • async-http : An asynchronous client and server implementation of HTTP/1.0, HTTP/1.1 and HTTP/2 including TLS

10 ) Logging

  • Lograge : An attempt to tame Rails’ default policy to log everything.

11 ) Notification

  • Rpush : The push notification service for Ruby.

12 ) Pagination

  • kaminari : ⚡ A Scope & Engine based, clean, powerful, customizable and sophisticated paginator for Ruby webapps
  • will_paginate : Pagination library for Rails, Sinatra, Merb, DataMapper, and more
  • pagy : Faster pagination in Ruby

13 ) PDF

  • Prawn : Fast, Nimble PDF Writer for Ruby

14 ) Scheduling

15 ) Searching

16 ) Testing

  • Rspec Rails : RSpec for Rails 5+.
  • Faker : enerating fake data such as names, addresses, and phone numbers.
  • factory_bot_rails : fixtures replacement with a straightforward definition syntax
  • Simplecov : SimpleCov is a code coverage analysis tool for Ruby.

17 ) Response API (JSON)

  • alba : Alba is a JSON serializer for Ruby.
  • api-pagination : Link header pagination for Rails and Grape APIs.

--

--

ervinismu
pengenpaham

full time writer, part time software engineer, long life learner