Skip to content

Instantly share code, notes, and snippets.

@soffes
Created March 11, 2021 15:35
Show Gist options
  • Save soffes/e27469aeab0ee2b88b87e287d7687c86 to your computer and use it in GitHub Desktop.
Save soffes/e27469aeab0ee2b88b87e287d7687c86 to your computer and use it in GitHub Desktop.
Along's Gemfile
# frozen_string_literal: true
source 'https://rubygems.org'
ruby '3.0.0'
# Instead of depending on `rails`, I just add the gems I need below
rails_version = '>= 6.1.0'
# Active Record from Rails
gem 'activerecord', rails_version, require: false
# Active Record extension for better enum support with PostgreSQL
gem 'activerecord-pg_enum'
# Active Record extension for manging ordered lists of children
gem 'acts_as_list'
# Amazon S3
gem 'aws-sdk-s3'
# Faster booting
gem 'bootsnap', require: false
# Permissions
gem 'cancancan'
# Apple push notifications
gem 'houston', require: false
# JSON Web Token for authorization
gem 'jwt'
# Image manipulation
gem 'mini_magick', require: false
# PostgreSQL
gem 'pg', require: false
# Web server
gem 'puma', require: false
# Rack middleware for setting CORS headers
gem 'rack-cors'
# Rails guts
gem 'railties', rails_version, require: false
# Action Controller extension for `respond_with`
gem 'responders'
# Background jobs
gem 'sidekiq', require: false
group :development, :test do
# Debugger
gem 'byebug'
# `.env` file support if used without Foreman
gem 'dotenv', require: false
end
group :development do
# Procfile runnder
gem 'foreman', require: false
# File system changes (used by Spring)
gem 'listen', '~> 3.3', require: false
# Linter
gem 'rubocop', require: false
# Linter extensions for Minitest
gem 'rubocop-minitest', require: false
# Linter extensions for preformance
gem 'rubocop-performance', require: false
# Linter extensions for Rails
gem 'rubocop-rails', require: false
# Application preloader
gem 'spring', require: false
# Application preloader listener
gem 'spring-watcher-listen', '~> 2.0.0', require: false
end
group :test do
# Perform all tests in a transaction so each new test case starts fresh
gem 'database_cleaner-active_record', require: false
# Generate fake data
gem 'faker'
# Factories
gem 'minifacture'
# Simple HTTP testing
gem 'rack-test', require: false
# Test coverage
gem 'simplecov', require: false
# Mocking time
gem 'timecop'
# Mocking the Internet
gem 'webmock', require: false
end
group :production do
# Exception reporting
gem 'sentry-raven'
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment