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
- 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