12/08/2018, 11:57

My shortlist of Ruby gems

There are always gems for anything, but sometimes there are too many gems for a thing I need, so what gems to choose. Ruby Toolbox is a nice place for that purpose, but it is not always convenience looking there. I also do not want to remember a (long) list of frequence use gems. Therefore, ...

There are always gems for anything, but sometimes there are too many gems for a thing I need, so what gems to choose. Ruby Toolbox is a nice place for that purpose, but it is not always convenience looking there.

I also do not want to remember a (long) list of frequence use gems.

Therefore, follow the criteria from this article: A Guide to Choosing the Best Gems for Your Ruby Project, I create my own shortlist of Ruby gems so when I need, I can make a quick scan through this article.

Template

  • slim / slim-rails (recommend)
  • haml

Pagination

  • Kaminari (recommend)
  • will_paginate (less active)

There are also gems that help integrating Kaminari/will_paginate with Bootstrap such as will_paginate-bootstrap, bootstrap-kaminari-views.

Authentication

  • Devise most popular, comprehensive
  • OmniAuth
  • sorcery simple & elegant

Authorization

  • CanCanCan
  • Pundit (recommend)
  • TheRole
  • rolify

Background Jobs

  • Sidekiq use Redis
  • delayed_job support multiple backends
  • Resque use Redis
  • whenever cron jobs
  • Sucker Punch

Resque Extensions

  • Resque Pool
  • resque-scheduler
  • resque-web
  • Resque-Loner

Application Servers

  • Phusion Passenger
  • Unicorn
  • Puma (recommend when deploy on Heroku)
  • Thin

Rails Admin Interfaces

  • ActiveAdmin
  • RailsAdmin

Search

  • Ransack SQL full text search
  • pg_search PostgreSQL full text search
  • Algolia Search for Rails gem to integrate with Algolia cloud search
  • Sunspot Solr search
  • Thinking Sphinx Sphinx full text search

Elastic Search

  • Searchkick
  • Chewy
  • Elasticsearch Ruby / lasticsearch Rails
  • Waistband

Form

  • Simple Form
  • Formtastic
  • Country Select

Development

  • foreman
  • Better Errors
  • Rails ERD
  • pry-rails
  • Quiet Assets turns off Rails assets pipeline log
  • Brakeman
  • RuboCop
  • Rails Email Preview
  • rack-mini-profiler

Testing

  • factory_girl / factory_girl_rails
  • Faker / ffaker

Rails Configuration

  • Rails Config / Config
  • dotenv / firago

Cache / Data Store

  • Dalli Ruby client for Memcached
  • redis / redis-rails
  • hiredis

Databases

SQL

  • pg for PostgreSQL
  • mysql2 for MySQL
  • sqlite3

NoSQL

  • Mongoid for MongoDB
  • Cequel for Cassandra
  • Dynamoid for Amazon DynamoDB

RSS

  • Feedjira
  • Feedbag

SNS

  • Twitter
  • Koala for Facebook

Upload

  • CarrierWave
  • PaperClip
  • Dragonfly

Documents Handling

  • SmarterCSV read CSV faster
  • Prawn / PDFKit / Wicked PDF generate PDF documents
  • to_xls-rails
  • Roo read various kinds of spreadsheets Extensions: Roo:Xls / Roo::Google
  • Yomu read various kinds of documents include MS Office, Open Office, Apple iWorks, rtf, pdf documents
0