In this article, I discuss key gems that I have used in my Rails application. For each gem, I state what it is used for, a brief description of how I used it, and the code snippet(s) pertaining to my use case.
I use the devise gem for user authentication. It has 10 modules: Database Authenticatable, Omniauthable, Confirmable, Recoverable, Registerable, Rememberable, Trackable, Timeoutable, Validatable, and Lockable. The cool thing is you can use only the modules that you want.