Skip to content

Instantly share code, notes, and snippets.

@nicolasblanco
Last active December 17, 2015 22:49
Show Gist options
  • Save nicolasblanco/5684809 to your computer and use it in GitHub Desktop.
Save nicolasblanco/5684809 to your computer and use it in GitHub Desktop.
The gems I use on almost all my projects (because today is Friday... if you know what I mean)

The gems I use on almost all my projects (because today is Friday... if you know what I mean)

  • kaminari

    Great pagination gem. I like writing my custom paginators as partials instead of Ruby classes.

  • rails_config

    Even if there's "rails" in the name, this gem also works with other frameworks. Essential to have a global configuration object available everywhere in your app. I like the fact that it is environment-aware.

  • decent_exposure

    I use decent_exposure and/or helper methods in my controller and dislike seeing any "@" character in my controllers :p.

  • haml

    I tried slim but came back to the old-and-good HAML... But I like the fact that it's still well maintained.

  • state_machine

    Because it's a well maintained state machine gem, I've been using it for years and it works well with many ORMs.

  • carrierwave

    IMHO, best gem for file uploads. I like writing a class for each uploader. Don't like the old approach of a giant config Hash in persistence models like in Paperclip.

  • simple_form

    Because it's just form_for on steroids and because it haz Twitter Bootstrap compatibility integrated.

  • jbuilder

    When I just want a custom JSON response and don't feel the need to write a full serialization Ruby class, I just throw a jbuilder view and relax.

  • pry-rails

    Because it's the best for debugging. Final.

  • rspec-rails

    Because because.

  • factory_girl

    Tried Fabricator once but came back to FG. Well maintained, excellent doc...

  • routing-filter

    It's just the best to ease the development of custom URLs. Even if I don't use it for custom URLs, I use the Paginator filter to have /users/page/2 URLs instead of the ugly /users?page=2 which is not SEO friendly.

  • responders

    I use the FlashResponder so that I don't have to write flash messages everywhere in my app controllers and/or back-office.

  • devise

    Of course.

  • omniauth and omniauth-pipomolo

    Of course, of course!

  • basic_active_model

    To write ActiveModel plain classes before Rails 4 and its ActiveModel::Model...

  • pundit

    One of the cleanest and ORM-agnostic solution to write a scallable authorization system using plain Ruby classes. Never came back to cancan after this one.

  • faraday and/or httparty

    When I need to access third-party APIs, I write my adapters using HTTParty or Faraday if I want to full control.

  • twitter-bootstrap-rails

    My BO/admin now all use Bootstrap because it's just the best.

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