Skip to content

Instantly share code, notes, and snippets.

@jamesdabbs
Created June 29, 2016 16:29
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jamesdabbs/c69207d38b4f84eb663b1f5fd552586d to your computer and use it in GitHub Desktop.
Save jamesdabbs/c69207d38b4f84eb663b1f5fd552586d to your computer and use it in GitHub Desktop.
Gems to know about

Gems

Kaminari

helper for paginating lists (e.g. of search results) and displaying page lists (<< < ... 10 11 12 .. > >>)

Sidekiq

run jobs outside the request-response loop, so that users don't have to wait e.g. for email to send before getting their response page. Also useful for running scheduled jobs (e.g. every 3 hours)

Slim

a condensed HTML producing templating language

Carrierwave

allow users to upload files to your Rails app (and store them in Amazon S3, so that it works on Heroku)

Bullet

raise errors in development when you accidentally write an n+1 query

Stripe

get paid

ActionMailer

customize emails sent from your Rails app

Faker

quickly generate dummy (e.g. seed) data

Rubocop

get yelled at when you don't follow the style guide

ActiveModel::Serializers

an alternative way of writing JSON output

Testing Tools

Factory Girl

reliably generate valid test data (without having to e.g. make up dummy emails and passwords)

Capybara

write user-level tests ("click on this link", "fill in this form")

SimpleCov

track how much of your code base your tests cover

VCR

record and playback API calls so that your tests aren't always using external APIs (and can run without internet access)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment