Skip to content

Instantly share code, notes, and snippets.

@BrianSigafoos
Last active August 16, 2017 16:26
Show Gist options
  • Save BrianSigafoos/74cb6674ef9e5511c3b32fed92e4d708 to your computer and use it in GitHub Desktop.
Save BrianSigafoos/74cb6674ef9e5511c3b32fed92e4d708 to your computer and use it in GitHub Desktop.
Rails favorites - for faster app setup

Gemfile favorites

group :test do
  # Minitest - Rails default, but updated more often via gem https://github.com/seattlerb/minitest
  gem 'minitest'

  # Better reporting for minitiest - ala Rspec https://github.com/kern/minitest-reporters
  gem 'minitest-reporters'

  # Capybara integration for MiniTest::Rails https://github.com/blowmage/minitest-rails-capybara
  gem 'minitest-rails-capfybara'

  # Default JS testing in Rails 5.1 System Tests in Capybara https://github.com/seleniumhq/selenium
  gem 'selenium-webdriver'

  # Collection of testing matchers extracted from Shoulda https://github.com/thoughtbot/shoulda-matchers
  gem 'shoulda', '~> 3.5'
  gem 'shoulda-matchers', '~> 2.0'

  # Record your test suite's HTTP interactions and replay them during future test runs for fast, deterministic, accurate tests. http://relishapp.com/vcr/vcr
  gem 'vcr'

  # Library for stubbing and setting expectations on HTTP requests in Ruby https://github.com/bblimke/webmock
  gem 'webmock'
end

group :development do
  # Listens to file modifications and notifies you about the changes https://github.com/guard/listen // Also used by guard
  # Note: listen/spring/guard can create hundreds of fsevent_watch processes. Until Rails/they fix this..
  # manually kill them with: $ pkill -9 fsevent_wat*
  gem 'listen'

  # Rails application preloader https://github.com/rails/spring
  gem 'spring'

  # Listen watcher for Spring https://github.com/jonleighton/spring-watcher-listen
  gem 'spring-watcher-listen'

  # Capistrano for deployments https://github.com/capistrano/capistrano
  gem 'capistrano'
  gem 'capistrano-rails'
  gem 'capistrano-bundler'
  gem 'capistrano-rvm'
  gem 'capistrano-passenger'
  gem 'capistrano-sidekiq'
  gem 'capistrano-newrelic'
  gem 'capistrano-yarn'

  # Better error page for Rack apps https://github.com/charliesome/better_errors
  gem 'better_errors', git: 'https://github.com/charliesome/better_errors'

  # Retrieve the binding of a method's caller in MRI 1.9.2+ https://github.com/banister/binding_of_caller
  gem 'binding_of_caller'

  ### Speed - dev testing gems -- recommended by http://www.nateberkopec.com/2015/08/05/rack-mini-profiler-the-secret-weapon.html
  # Profiler for your development and production Ruby rack apps: https://github.com/MiniProfiler/rack-mini-profiler
  gem 'rack-mini-profiler'

  # Flamegraph profiling support for Ruby 2.0 https://github.com/SamSaffron/flamegraph
  gem 'flamegraph'

  # a sampling call-stack profiler for ruby 2.1+ https://github.com/tmm1/stackprof
  gem 'stackprof' 

  # memory_profiler for ruby https://github.com/SamSaffron/memory_profiler
  gem 'memory_profiler'

  # help to kill N+1 queries and unused eager loading https://github.com/flyerhzm/bullet
  gem 'bullet'

  # Brakeman is a static analysis tool which checks Ruby on Rails applications for security vulnerabilities https://github.com/presidentbeef/brakeman
  #   Usage: `brakeman -o brakeman_report.txt`
  gem 'brakeman'

  # Puma Dev - A tool to manage rack apps in development with puma; "emotional successor to Pow" https://github.com/puma/puma-dev
  #   Usage: add symlinks to ~/.puma_dev so that https://appname.localhost works
  gem 'puma'

  # Rubocop: A Ruby static code analyzer, based on the community Ruby style guide https://github.com/bbatsov/rubocop
  #   Usage: `rubocop -R` to run normally and `rubocop -R --auto-gen-config` to update .rubocop_todo.yml
  gem 'rubocop', require: false 

  # Guard is a command line tool to easily handle events on file system modifications https://github.com/guard/guard
  # Guard::Minitest automatically run your tests (much like autotest) https://github.com/guard/guard-minitest
  gem 'guard'
  gem 'guard-minitest'
end

# User CRUD, authentication, encryption and password management
gem 'devise'

# Continuation of CanCan, the authorization Gem for Ruby on Rails https://github.com/CanCanCommunity/cancancan
gem 'cancancan'

# Object-based searching https://github.com/activerecord-hackery/ransack
gem 'ransack'

# Pagination library for Rails http://github.com/mislav/will_paginate
gem 'will_paginate'

# SitemapGenerator is a framework-agnostic XML Sitemap generator written in Ruby with automatic Rails integration https://github.com/kjvarga/sitemap_generator
gem 'sitemap_generator'

# acts_as_paranoid for Rails 3+ https://github.com/rubysherpas/paranoia
gem 'paranoia'

# Track changes to your models' data. Good for auditing or versioning https://github.com/airblade/paper_trail
gem 'paper_trail'

# ActiveModel::Serializer implementation and Rails hooks https://github.com/rails-api/active_model_serializers
gem 'active_model_serializers'

# Chartkick - create beautiful Javascript charts with one line of Ruby https://github.com/ankane/chartkick
gem 'chartkick'

# The simplest way to group temporal data https://github.com/ankane/groupdate
gem 'groupdate'

# Decorators/View-Models for Rails Applications https://github.com/drapergem/draper
gem 'draper'

# User impersonation for Rails https://github.com/ankane/pretender
gem 'pretender'

# Experiment Driven Development for Ruby http://vanity.labnotes.org  https://github.com/assaf/vanity
gem 'vanity'

# Annotate Rails classes with schema and routes info https://github.com/ctran/annotate_models
#   Usage: `annotate --exclude tests,fixtures,factories,serializers` # automatic after migrations
gem 'annotate'

# Integration of RubyMoney - Money with Rails https://github.com/RubyMoney/money-rails
gem 'money-rails'

# The safe Markdown parser, reloaded https://github.com/vmg/redcarpet
gem 'redcarpet'

# Generates attr_accessors that encrypt and decrypt attributes https://github.com/attr-encrypted/attr_encrypted
gem 'attr_encrypted'

# [Speed] Boot large ruby/rails apps faster https://github.com/Shopify/bootsnap
gem 'bootsnap'

# An invitation strategy for devise https://github.com/scambra/devise_invitable
gem 'devise_invitable'

# An ActiveRecord plugin for managing lists. https://github.com/swanandp/acts_as_list
gem 'acts_as_list'

API interactions

# Makes http fun again! http://jnunemaker.github.com/httparty
gem 'httparty'

# Connects business objects and REST web services https://github.com/rails/activeresource
gem 'activeresource'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment