Skip to content

Latest commit

 

History

History
1084 lines (858 loc) · 33 KB

File metadata and controls

1084 lines (858 loc) · 33 KB

Useful Gems

Authentication

full on authorisation:

gem 'devise'

view on github | view on RubyGems | view on The Ruby Toolbox

used for invitation based devise stuff, works with devise:

gem 'devise_invitable'

view on github | view on RubyGems | view on The Ruby Toolbox

Use alternative (and even your own!) encryptors with Devise.

gem 'devise-encryptable'

view on github | view on RubyGems | view on The Ruby Toolbox

Rails authentication with email & password.

gem 'clearance'

view on github | view on RubyGems | view on The Ruby Toolbox

general authentication:

gem 'authlogic'

view on github | view on RubyGems | view on The Ruby Toolbox

multiple authentication methods:

gem 'omniauth'
gem 'omniauth-facebook'
gem 'omniauth-twitter'
gem 'omniauth-google'

Taint and required checking for Action Pack and enforcement in Active Model (should be in Rails 4 Core):

gem 'strong_parameters'

view on github | view on RubyGems | view on The Ruby Toolbox

Ruby gem for interacting with the AlterEgo API:

gem 'alterego'

view on github | view on RubyGems | view on The Ruby Toolbox

used for multi-tenancy application work, eg basecamp style, multi users one account.:

gem 'acts_as_tenant'

view on github | view on RubyGems | view on The Ruby Toolbox

Database multi-tenancy for Rack (and Rails) applications: Apartment provides tools to help you deal with multiple databases in your Rails application. If you need to have certain data sequestered based on account or company, but still allow some data to exist in a common database, Apartment can help. Uses schemas in Postgres, WEWT!

gem 'apartment'

view on github | view on RubyGems | view on The Ruby Toolbox

easier oauth functionality:

gem 'open_auth2'

view on github | view on RubyGems | view on The Ruby Toolbox

A production ready Rails Engine that turns your app into an Oauth2 Provider:

gem 'opro'

view on github | view on RubyGems | view on The Ruby Toolbox

Simple HTTP and REST client for Ruby, inspired by microframework syntax for specifying actionshttps://github.com/archiloque/rest-client:

gem 'rest-client'

view on github | view on RubyGems | view on The Ruby Toolbox

HMAC authentication client for Rails and ActiveResource:

gem 'api-auth'

view on github | view on RubyGems | view on The Ruby Toolbox

Very simple Roles library without any authorization enforcement supporting scope on resource object. This library was intended to be used with CanCan and devise but should be generic enough to be used by any other authentication/authorization solutions:

gem 'rolify'

view on github | view on RubyGems | view on The Ruby Toolbox

Continuation of CanCan, the authorization Gem for Ruby on Rails.:

gem 'cancancan'

view on github | view on RubyGems | view on The Ruby Toolbox

Minimal authorization through OO design and pure Ruby classes:

gem 'pundit'

view on github | view on RubyGems | view on The Ruby Toolbox

encryption:

gem 'bcrypt-ruby', :require => 'bcrypt'

Generates attr_accessors that encrypt and decrypt attributes:

gem 'attr_encrypted'

view on github | view on RubyGems | view on The Ruby Toolbox

Javascript

used for making searchable multiselect with tags and searching. Not a gem better for searching lots of records, it uses ajax calls find at jquery-token. Put into vendor > assets > javascripts folder. Then load via asset pipline... see Railscasts 258-token-fields-revised for example:

gem 'chosen-rails'

view on github | view on RubyGems | view on The Ruby Toolbox

add jquery autocomplete:

gem 'rails3-jquery-autocomplete'

view on github | view on RubyGems | view on The Ruby Toolbox

Rails gem for handling keyboard shortcuts via mousetrap javascript library:

gem 'mousetrap-rails'

view on github | view on RubyGems | view on The Ruby Toolbox

ajaxify stuff - also add jquery-pjax:

gem 'rack-pjax'

view on github | view on RubyGems | view on The Ruby Toolbox

Turbolinks makes following links in your web application faster. Instead of letting the browser recompile the JavaScript and CSS between each page change, it keeps the current page instance alive and replaces only the body and the title in the head. Think CGI vs persistent process:

gem 'turbolinks'

view on github | view on RubyGems | view on The Ruby Toolbox

Wiselinks makes following links and submitting some forms in your web application smarter and faster (this is really rad):

gem 'wiselinks'

view on github | view on RubyGems | view on The Ruby Toolbox

adds your ruby variables in your JS:

gem 'gon'

Image & File Manipulation

used for imagemagick manipulations:

gem 'rmagick'

A ruby ImageMagick library that doesn't suck.(it is rad):

gem 'image_sorcery'

used for image uploads, eg avatars, etc - a gentle introduction to carrierwave :

gem 'carrierwave'

Process your uploads in the background by uploading directly to S3:

gem 'carrierwave_direct'

used for image uploads:

gem 'paperclip'

Automatic Retina Image Handling for Rails 3.1+:

gem 'clear_eyes'

System

Quickly check your database info while working with Rails in development

gem 'rails_db_info'

view on github | view on RubyGems | view on The Ruby Toolbox

Manage translations in ruby applications with the awesome power of static analysis

gem 'i18n-tasks'

view on github | view on RubyGems | view on The Ruby Toolbox

Pry-based enhancements for the default Rails 3 and 4 consoles

gem 'jazz_hands'

view on github | view on RubyGems | view on The Ruby Toolbox

Rack middleware for blocking & throttling

gem 'rack-attack'

view on github | view on RubyGems | view on The Ruby Toolbox

Patch-level verification for Bundler

gem 'phil'

view on github | view on RubyGems | view on The Ruby Toolbox

Content generation module that wraps around Faker.

gem 'bundler-audit'

view on github | view on RubyGems | view on The Ruby Toolbox

Generate Entity-Relationship Diagrams for Rails applications

gem 'rails-erd'

view on github | view on RubyGems | view on The Ruby Toolbox

Errors, more of them, and better. For sprockets, specifically sprockets-rails. The goal of this library is to make it painfully obvious when you've done something wrong with the rails asset pipeline. So you dont forget to include STUFF!!!

gem 'sprockets_better_errors'

view on github | view on RubyGems | view on The Ruby Toolbox

Rack middleware for serving static gzipped assets generated by the Rails asset pipeline

gem 'rack-zippy'

view on github | view on RubyGems | view on The Ruby Toolbox

An extensible open-source mobile backend framework

gem 'helios'

view on github | view on RubyGems | view on The Ruby Toolbox

A development tool that reveals your UI's bones

gem 'xray-rails'

view on github | view on RubyGems | view on The Ruby Toolbox

Easy activity tracking for models - similar to Github's Public Activity

gem 'public_activity'

view on github | view on RubyGems | view on The Ruby Toolbox

Security related headers all in one gem

gem 'secure-headers'

view on github

Send and retrieve your ruby i18n localizations to the Locale translation service

gem 'localeapp'

view on github | view on RubyGems | view on The Ruby Toolbox

Don't use 3rd party services to track your app errors. Use Github!

gem 'party_foul'

view on github | view on RubyGems | view on The Ruby Toolbox

Inkwell adds social networking features – comments, reblogs, favorites, ability to follow other people and view their timeline

gem 'inkwell', :git => 'git://github.com/salkar/inkwell.git'

view on github | view on RubyGems | view on The Ruby Toolbox

Library for dealing with money and currency conversion

gem 'money'

Simple Rails app configuration

gem 'figaro'

Loads environment variables from .env.

gem 'dotenv-rails', :groups => [:development, :test]

view on github | view on RubyGems | view on The Ruby Toolbox

Whitelist-based Ruby HTML sanitizer

gem 'sanitize'

Better error page for Rails and other Rack apps (for development only)

gem 'better_errors'

An attempt to tame Rails' default policy to log everything

gem 'lograge'

Engine Yard Local (Local Engine Yard Using VirtualBox)

gem 'engineyard-local'

Makes http fun again!:

gem 'httparty'

Every Rails page has footnotes that gives information about your application and links back to your editor:

gem 'rails-footnotes'

Nice profiling of application see http://railscasts.com/episodes/368-miniprofiler for more info:

gem 'rack-mini-profiler'

Seedbank allows you to structure your Rails seed data instead of having it all dumped into one large file. I find my seed data tended to fall into two categories. 1. Stuff that the entire application requires. 2. Stuff to populate my development and staging environments.:

gem 'seedbank'

Easily include static pages in your Rails app:

gem 'high_voltage'

view on github | view on RubyGems | view on The Ruby Toolbox

A tagging plugin for Rails applications that allows for custom tagging along dynamic contexts:

gem 'acts-as-taggable-on'

A Rails plugin gem for filtering out profanity:

gem 'profanity_filter'

The ActiveRecord acts_as_commentable plugin:

gem 'acts_as_commentable'

Extension for Delayed Job to only run workers when needed on Heroku:

gem 'workless'

HireFire automatically "hires" and "fires" (aka "scales") Delayed Job and Resque workers on Herokuhttp://hirefireapp.com/:

gem 'hirefire'

An ActiveModel validator that validates associated models, copying any errors from composed models up to their parent:

gem 'also_validates'

An IRB alternative and runtime developer console:

gem 'pry'

Connect to Pry remotely (for use with things like POW):

gem 'pry-remote'

A Ruby gem for communicating with the Twilio API and generating TwiML (SMS):

gem 'twilio-ruby'

handles events, like calling external apis etc:

gem 'eventmachine'

Doorkeeper is an OAuth 2 provider for Rails:

gem 'doorkeeper'

used for interacting with the cloud:

gem 'fog'

used for restful api creation:

gem 'grape'

General ruby templating with json, bson, xml, plist and msgpack support:

gem 'rabl'

used for backup:

gem 'backup'

A means of automating Heroku's pgbackups and archiving them to Amazon S3 via the fog gem

gem 'pgbackups-archive'

render custom json templates:

gem 'jbuilder'

The Exception Notifier plugin provides a mailer object and a default set of templates for sending email notifications when errors occur in a Rails application.:

gem 'exception_notification'

background job creation:

gem 'resque'

Love Resque? Hate Boilerplate? Use resque_def!:

gem 'resque_def'

view on github | view on RubyGems | view on The Ruby Toolbox

Sucker Punch is a Ruby asynchronous processing using Celluloid, heavily influenced by Sidekiq and girl_friday:

gem 'sucker_punch'

view on github | view on RubyGems | view on The Ruby Toolbox

delayed job:

gem 'delayed_job_active_record'

A Rails engine based frontend for Delayed Job. It also has an iPhone app:

gem 'dj_mon'

A gem providing "time travel", "time freezing", and "time acceleration" capabilities, making it dead simple to test time-dependent code. It provides a unified method to mock Time.now, Date.today, and DateTime.now in a single call.:

gem 'timecop'

view on github | view on RubyGems | view on The Ruby Toolbox

runs multiple tasks at once for convenience:

gem 'foreman'

view on github | view on RubyGems | view on The Ruby Toolbox

Guard is a command line tool to easily handle events on file system modifications:

gem 'guard'

view on github | view on RubyGems | view on The Ruby Toolbox

Guard::LiveReload automatically reload your browser when 'view' files are modified.:

gem 'guard-livereload'

view on github | view on RubyGems | view on The Ruby Toolbox

Guard gem for generating ctags for project files and gems from project's bundle.:

gem 'guard-ctags-bundler'

view on github | view on RubyGems | view on The Ruby Toolbox

Do some browser detection with Ruby. Includes ActionController integration:

gem 'browser'

view on github | view on RubyGems | view on The Ruby Toolbox

used for scheduling things to run, like cron:

gem 'whenever'

Simple, efficient message processing for Ruby: Sidekiq uses threads to handle many messages at the same time in the same process. It integrates tightly with Rails 3 to make background message processing dead simple.

gem 'sidekiq'

Chronic is a pure Ruby natural language date parser:

gem 'chronic'

Date and time formatting for humans:

gem 'stamp'

versioning:

gem 'paper_trail'

Track model actions:

gem 'hound'

view on github | view on RubyGems | view on The Ruby Toolbox

used for maintenance mode of sites:

gem 'turnout'

need to install redis on mac:

gem 'redis'

used for pretty urls:

gem 'friendly_id'

Simple slug functionality for your ActiveRecord objects:

gem 'slugworth'

view on github | view on RubyGems | view on The Ruby Toolbox

used for better design patterns see Railscasts Draper :

gem 'draper'

used for making a wizard eg installer:

gem 'wicked'

Simple Ruby wrapper for the GitHub v2 & v3 API:

gem 'octokit'

Helps you find your routes on a long Journey on Rails. Visit http://localhost:3000/rails/routes:

gem 'sextant'

The Active Record Reputation System helps you discover more about your application and make better decisions. The Reputation System gem makes it easy to integrate reputation systems into Rails applications, decouple the system from the main application and provide guidelines for good design of reputation systems:

gem 'activerecord-reputation-system', :require => 'reputation_system'

Keep model fields commented in your rails apps:

gem 'annotator'

New Relic RPM Agent:

gem 'newrelic_rpm'

Bullet: A rails plugin/gem to kill N+1 queries and unused eager loading

gem 'bullet', :group => 'development'

Search:

gem 'ransack'

Object-based searching (and more) for simply creating search forms:

gem 'meta_search'

Feature

roll out particular features:

gem 'rollout'

A slick way to rollout features in your web app:

gem 'rollout_ui'

degrade features if failing or something like that:

gem 'degrade'

CMS

mountable blog engine:

gem 'monologue'

refinery cms:

gem 'refinerycms'

Edit copy in your live web app (requires copycopter-server:

gem 'copycopter_client'

view on github | view on RubyGems | view on The Ruby Toolbox

Mail

Incoming! helps you receive email in your Rack apps.

gem 'incoming'

view on github | view on RubyGems | view on The Ruby Toolbox

A Rails engine that provides an endpoint for Sendgrid and sends the email to a specified class for processing

gem 'griddler'

view on github | view on RubyGems | view on The Ruby Toolbox

Forward mail from gmail IMAP to a callback URL, simply

gem 'mail_room'

view on github | view on RubyGems | view on The Ruby Toolbox

Preview mail in the browser instead of sending

gem 'letter_opener', :group => :development

view on github | view on RubyGems | view on The Ruby Toolbox

used for viewing emails instead of sending tests:

gem 'mail_view'

Catches mail and serves it through a dream:

gem 'mailcatcher'

Type mailcatcher to launch Go to http://localhost:1080/ Send mail through smtp://localhost:1025

auto inline styles for emails:

gem 'roadie'

**An incoming mail processing microframework in Ruby: **

gem 'mailman'

Write your ActionMailer email templates in Markdown, send in html and plain text

gem 'maildown'

view on github | view on RubyGems | view on The Ruby Toolbox

WYSIWYG

The redactor-rails gem integrates the Redactor editor with the Rails 3.2 asset pipeline.

gem 'redactor-rails'

view on github | view on RubyGems | view on The Ruby Toolbox

asset pipeline based ckeditor:

gem 'ckeditor_rails', :require => 'ckeditor-rails'

ckeditor:

gem 'ckeditor', '3.7.1'

used for WYSIWYG editor:

gem 'tiny_mce'

Visual

Rails generator to build a styleguide

gem 'styleguide_rails'

view on github | view on RubyGems | view on The Ruby Toolbox

Entity-style text parsing extracted from Cheddar

gem 'quesadilla'

view on github | view on RubyGems | view on The Ruby Toolbox

Garlic.js in love with Rails Asset Pipeline(saves forms):

gem 'garlicjs-rails'

Speeds up your Rails 3 assets:precompile by only recompiling changed files, and only compiling once to generate all assets:

gem 'turbo-sprockets-rails3'

admin interface:

gem 'activeadmin'

admin interface:

gem 'rails_admin', :git => 'git://github.com/sferik/rails_admin.git'

adds auto haml support:

gem 'haml-rails'

adds better form stuff:

gem 'simple_form'

Rails jQuery file uploads via standard Rails "remote: true" forms:

gem 'remotipart'

view on github | view on RubyGems | view on The Ruby Toolbox

Send e-mail straight from forms in Rails with I18n, validations, attachments and request information.:

gem 'mail_form'

view on github | view on RubyGems | view on The Ruby Toolbox

Easy dynamic nested fields for Rails and jQuery applications:

gem 'awesome_nested_fields'

view on github | view on RubyGems | view on The Ruby Toolbox

Synchronises Assets between Rails and S3:

gem 'asset_sync', :group => :assets
gem 'zurb-foundation', :group => :assets # great starter for layouts

yet another sass based twitter bootstrap:

gem 'bootstrap-sass'

Autoprefixer for Ruby and Ruby on Rails https://twitter.com/autoprefixer:

gem 'autoprefixer-rails'

view on github | view on RubyGems | view on The Ruby Toolbox

used for pdf generation:

gem 'wicked_pdf'

json printing which is very pretty:

gem 'awesome_print'

A simple, pure Ruby implementation of JSON code coloring:

gem 'pizzazz'

Provides a simple helper to get an HTML select list of countries. The list of countries comes from the ISO 3166 standard. While it is a relatively neutral source of country names, it may still offend some users:

gem 'country-select'

Logic-less Ruby templates

gem 'mustache'

Rails gem for handling keyboard shortcuts via mousetrap javascript library:

gem 'mousetrap-rails'

Pagination

hardcore pagination:

gem 'kaminari'

eCommerce

online store:

gem 'spree'

If you get an “Unable to resolve dependencies” error while installing the Spree gem you can try installing just the spree_cmd gem instead (which has minimal dependencies.):

gem 'spree_cmd'

stripe payment method for spree commerce:

gem 'spree_stripe'

view on github

used for billing etc:

gem 'activemerchant', :require => 'active_merchant'

Stripe webhook integration for Rails applications.:

gem 'stripe_event'

view on github | view on RubyGems | view on The Ruby Toolbox

A mocking library for testing stripe ruby:

gem 'stripe-ruby-mock'

view on github | view on RubyGems | view on The Ruby Toolbox

Stripe Ruby bindings:

gem 'stripe'

view on github | view on RubyGems | view on The Ruby Toolbox

Recurring Billing: A Chargify API wrapper for Ruby using ActiveResource.:

gem 'chargify_api_ares'

Servers

super fast concurrent web server:

gem 'puma'

A very fast & simple Ruby web server:

gem 'thin'

Phusion Passenger (mod_rails):

gem 'passenger'

Other that I have no place for yet

XML, HTML PARSING ETC:

gem 'nokogiri'

geo mapping geokit-gem, also use the plugin geokit-rails for advanced functionality:

gem 'geokit'

Squeel lets you write your ActiveRecord queries with fewer strings, and more Ruby, by making the ARel awesomeness that lies beneath ActiveRecord more accessible.:

gem 'squeel'

Development

Code coverage for Ruby 1.9 with a powerful configuration library and automatic merging of coverage across test suites:

gem 

'simplecov', :require => false, :group => :test

Static analysis tool for checking Ruby code for Sandi Metz' rules.:

gem 'sandi_meter'

view on github | view on RubyGems | view on The Ruby Toolbox

Flog reports the most tortured code in an easy to read pain report. The higher the score, the more pain the code is in.:

gem 'flog'

view on github | view on RubyGems | view on The Ruby Toolbox

Flay analyzes code for structural similarities. Differences in literal values, variable, class, method names, whitespace, programming style, braces vs do/end, etc are all ignored. Making this totally rad.:

gem 'flay'

view on github | view on RubyGems | view on The Ruby Toolbox

Collection of testing matchers extracted from Shoulda.:

gem 'shoulda-matchers'

view on github | view on RubyGems | view on The Ruby Toolbox

A tool for detecting missing unique indexes in Rails projects.:

gem 'consistency_fail'

view on github | view on RubyGems | view on The Ruby Toolbox

group :test

gem 'cucumber-rails'
gem 'database_cleaner'

group :test, :development

gem launchy'
gem 'nokogiri'

used for creating api docs from rspec:

gem 'rspec_api_documentation'

Helpful rake tasks for Heroku:

gem 'heroku_san'
gem 'capistrano'

Battle-tested capistrano recipes for ruby, rubygems, apache, passenger, delayed_job, juggernaut, thinking_sphinx, mongodb, whenever, among other popular tools:

gem 'cap-recipes'

Really fast deployer and server automation tool(Optional and maybe better than capistrano?)

gem 'mina'
gem 'rspec-rails'
gem 'email_spec'
gem 'capybara'

Test your ActionMailer and Mailer messages with Capybara

gem 'capybara-email'
gem 'capybara-screenshot', :group => :test
gem 'guard-rspec'
gem 'growl_notify'
gem 'cucumber'
gem 'brakeman'
gem 'annotate'
gem 'nifty-generators'
gem 'factory_girl_rails'

Generate fake data for your tests

gem 'faker`

Used for rails Panel

gem 'meta_request'

used for checking your code:

gem 'rails_best_practices'