Skip to content

Instantly share code, notes, and snippets.

@titaniumtails
Last active August 29, 2015 14:08
Show Gist options
  • Save titaniumtails/1e49914e76457525f76a to your computer and use it in GitHub Desktop.
Save titaniumtails/1e49914e76457525f76a to your computer and use it in GitHub Desktop.
Really Useful Ruby Gems.md

##Essential Gems I love

##Index GENERAL

gem 'autoprefixer-rails'
gem 'bootswatch-rails'
gem 'bourbon'
gem 'country_select'
gem 'carrierwave'
gem 'devise'
gem 'email_validator'
gem 'high_voltage'
gem 'simple_form'
gem 'will_paginate'

TESTING

group :test do
  gem 'byebug'
  gem 'capybara'
  gem 'rspec'
end

DEVELOPMENT

group :development do
  gem 'awesome_print'
  gem 'better_errors'
  gem 'binding_of_caller'
  gem 'byebug'
  gem 'guard'
  gem 'meta_request'
  gem 'pry'
  gem 'quiet_assets'
  gem 'rails_layout'
end

##Info

###General gem 'carrierwave' Makes it easy to tack file attachments onto models.

gem 'email_validator' Um. Duh.

gem 'high_voltage' Render static pages for maximum speed, like "About us", "Directions", marketing pages, etc.

gem 'will_paginate' (Wiki) (Pagination 101) This is a collection of extensions for the database layer that enable paginated queries, and view helpers for popular frameworks that render pagination links.

###Authentication and Privileges gem 'devise', wiki Authentication.

OmniAuth With devise, this is a plugin to support login to github and other 3rd party auth systems, like github or openID.

gem 'rails_layout' Use this gem to set up layout files for your choice of front-end framework (Foundation or Bootstrap), and set up Devise views with styling. RailsLayout is a utility gem to use during development, so put it in the development group.

###Development gem 'awesome_print' Pretty print your Ruby objects with style -- in full color and with proper indentation. Lots of teams used AwesomePrint for pretty printing Ruby objects. In our opinion that number should be 100%, despite the staleness of the github repo.

require "awesome_print"
ap object, options = {}

Here's how you can use it in place of the formatting which comes with pry. Add the following code to your ~/.pryrc:

require "awesome_print"
AwesomePrint.pry!

gem 'better_errors' Better Errors replaces the standard Rails error page with a much better and more useful error page. gem 'binding_of_caller' allows advanced features for using Better Errors.

gem 'byebug' For just in time debugging. Simply drop byebug wherever you want to start debugging and the execution will stop there. If you are debugging rails, start the server and once the execution gets to your byebug command you will get a debugging prompt.

gem 'guard'[2] Watches the filesystem and automatically run specs or reload the browser when files change. Then install it by running Bundler, generate an empty Guardfile with bundle exec guard init, run Guard through Bundler with bundle exec guard. Theres support for Mac OSX problems. Net TutsScreencast. Plugins gems for guard that may be useful: rb-fsevent, guard-sass, guard-coffeescript, guard-livereload, guard-concat, guard-uglify.

gem 'pry' Pry also aims to be more than an IRB replacement; it is an attempt to bring REPL driven programming to the Ruby language.

gem 'quiet_assets' Quiet Assets turns off the Rails asset pipeline log. This means that it suppresses messages in your development log, like:

GET "/assets/application.css" for 127.0.0.1 at 2011-08-22 11:19:59 -0700
Served asset /application.css - 304 Not Modified (1ms)

gem 'web-console' An interactive console is launched automatically in the default Rails error page. Will be built into Rails 4.2.

####Not a Gem Rollbar Exception handlers are one of those things you always wish you’d invested in after you’ve embarrassed yourself in production. Rollbar has a decent free product that appeals.

###Forms gem 'country_select' Provides a simple helper to get an HTML select list of countries. The list of countries comes from the ISO 3166 standard.

gem 'simple_form' automatically turn your drab Rails forms into beautiful Bootstrap forms

###Style gem 'autoprefixer-rails' But you have to clear your cache: rake tmp:clear Autoprefixer is a tool to parse CSS and add vendor prefixes to CSS rules using values from the Can I Use. This gem provides Ruby and Ruby on Rails integration with this JavaScript tool.

gem 'bootswatch-rails' This gem is meant to be used with bootstrap-sass. It gives you complete scss versions of bootswatches for use in your Rails asset pipeline.

gem 'bourbon' A simple and lightweight mixin library for Sass, to take the pain out of writing CSS.

####Not a Gem Font Awesome

###Testing gem 'capybara'2 Capybara helps you test web applications by simulating how a real user would interact with your app. If the application that you are testing is a Rails app, add this line to your test helper file: require 'capybara/rails' or if you are using it with rspec require 'capybara/rspec.If you are using Rails, put your Capybara specs in spec/features.

###Need to explore furthur: gem 'dotenv' Removes those pesky secret credentials from your app and put them into environment variables where they belong.

gem 'factory_girl' Creates fixtures in BDD.

gem 'selenium' Selenium automates browsers. Used with capybara.

gem 'bullet'. Auto-detect N+1 queries, even with Mongo

gem 'cancancan' Successor to CanCan, for setting up user privileges.

gem 'devise_invitable' It adds support to devise for sending invitations by email (it requires to be authenticated) and accept the invitation setting the password.

gem 'draper' The decorator pattern, which works around Helper insanity.

gem 'mini_magick' wraps ImageMagick on the command line.

@harryworld
Copy link

+1

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