Skip to content

Instantly share code, notes, and snippets.

@flybayer
Created September 28, 2022 15:41
Show Gist options
  • Save flybayer/61bc3cc3b9fa716e13185fe31bf6f0c6 to your computer and use it in GitHub Desktop.
Save flybayer/61bc3cc3b9fa716e13185fe31bf6f0c6 to your computer and use it in GitHub Desktop.
# frozen_string_literal: true
# *** Add our gems in the # YOUR GEMS near the bottom of this file ***
# DEFAULT RAILS GEMS
# This section is something close to the default Rails 5.2.3 Gemfile.
# Bullet Train updates the Ruby version. The comments in this section
# are from vanilla Rails.
source 'https://rubygems.org'
git_source(:github) { |repo| "https://github.com/#{repo}.git" }
ruby File.read('.ruby-version').strip.split('-').last
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '~> 6.0.4'
# Use postgresql as the database for Active Record
gem 'pg', '>= 0.18', '< 2.0'
# Use Puma as the app server
gem 'puma', '~> 5.6'
# Use SCSS for stylesheets
gem 'sass-rails', '~> 5.1'
gem 'webpacker', '~> 5.4'
# Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks
gem 'turbolinks', '~> 5.2'
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
gem 'jbuilder', '~> 2.11'
# Use Redis adapter to run Action Cable in production, HiRedis for speed
gem 'hiredis' # per Rails docs
gem 'redis', '~> 4.1'
# Use ActiveModel has_secure_password
# gem 'bcrypt', '~> 3.1.7'
# Use Active Storage variant
# gem 'image_processing', '~> 1.2'
# Reduces boot times through caching; required in config/boot.rb
gem 'bootsnap', '>= 1.4.2', require: false
group :development, :test do
# Call 'byebug' anywhere in the code to stop execution and get a debugger console
gem 'byebug', '~> 11.1', platforms: %i[mri mingw x64_mingw]
gem 'pry-byebug', '~> 3.9'
gem 'pry-rails', '~> 0.3'
end
group :development do
# Access an interactive console on exception pages or by calling 'console' anywhere in the code.
gem 'listen', '~> 3.7'
gem 'web-console', '>= 3.3.0'
# Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
gem 'annotate', '~> 3.2'
gem 'colorize'
gem 'spring'
gem 'spring-watcher-listen', '~> 2.0.0'
end
group :test do
# Adds support for Capybara system testing and selenium driver
gem 'capybara', '~> 3.36'
gem 'selenium-webdriver', '~> 4.1'
# Easy installation and use of chromedriver to run system tests with Chrome
gem 'webdrivers', '~> 5.0'
end
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
gem 'tzinfo-data', platforms: %i[mingw mswin x64_mingw jruby]
# BULLET TRAIN GEMS
# This section is all the gems we're adding.
group :test do
gem 'capybara-email', '~> 3.0'
gem 'capybara-screenshot', '~> 1.0'
gem 'database_cleaner-active_record', '~> 2.0'
gem 'minitest-ci', '~> 3.4'
gem 'minitest-matchers_vaccine', '~> 1.0'
gem 'minitest-retry', '~> 0.2'
gem 'mocha', '~> 1.13'
gem 'rails-controller-testing', '~> 1.0'
gem 'shoulda-matchers', '~> 5.1'
gem 'spy', '~> 1.0'
end
# we use factories not just for testing, but also for generating example API payloads.
gem 'factory_bot_rails', '~> 6.2'
# some development tools we actively use.
group :development do
# letter opener opens any sent emails in your browser instead of having to setup an smtp trap.
gem 'letter_opener', '~> 1.8'
# xray makes it easy to find which view or partial file an element is in when inspecting a page's source.
gem 'xray-rails', '~> 0.3'
gem 'httplog', '~> 1.5', require: false
gem 'webmock', '~> 3.14'
end
# authentication.
gem 'devise'
gem 'omniauth'
gem 'omniauth-facebook', '~> 9.0'
gem 'omniauth-stripe-connect'
gem 'omniauth-twitter'
# 🚅 super scaffolding will insert new oauth providers above this line.
gem 'twitter', '~> 7.0'
# authorization.
gem 'cancancan', '~> 3.3'
# api.
gem 'active_model_serializers', '~> 0.10'
# administrative functionality.
gem 'paper_trail', '~> 12.3'
gem 'rails_admin', '~> 2.2'
# bootstrap and other ui stuff.
gem 'bootstrap', '~> 4.3.1'
gem 'font-awesome-rails'
gem 'trix', github: 'bullet-train-co/trix'
# subscriptions.
gem 'koudoku', git: 'https://github.com/andrewculver/koudoku.git', branch: 'bullet-train'
gem 'stripe', '~> 5.53.0'
# allow users to supply content with markdown formatting.
# powers our markdown() view helper.
gem 'redcarpet', '~> 3.5'
# we use this to detect the size of the logo assets.
gem 'fastimage', '~> 2.2'
# we use this to add "'s" as appropriate in certain headings.
gem 'possessive', '~> 1.0'
# an error tracking service with a generous free tier.
gem 'sentry-rails', '~> 5.2.1'
gem 'sentry-ruby', '~> 5.2.1'
gem 'sentry-sidekiq', '~> 5.2.1'
# db session store
gem 'activerecord-session_store'
# cloud file hosting, image resizing, and cdn.
gem 'cloudinary', '~> 1.23'
# background jobs.
gem 'sidekiq', '~> 5.2'
# we'll occasionally use this for timestamps when accuracy isn't important.
gem 'time_ago_in_words'
# we use this for detecting emojis in conversation messages.
gem 'unicode-emoji'
# enables `binding.pry` for debugging.
gem 'pry'
# define ENV values in `config/application.yml`.
gem 'figaro'
# inline all css for emails.
gem 'premailer-rails'
# use s3 for active storage by default.
gem 'aws-sdk-s3', require: false
# parse natural language dates.
gem 'chronic'
# parse and format phone numbers.
gem 'phonelib'
# email validator built in bullet train
gem 'valid_email'
# extract the body from emails received using action inbox.
gem 'extended_email_reply_parser'
# YOUR GEMS
# you can add any gems you need below. by keeping them separate from
# our gems above, you avoid the likelihood that we'll have a merge
# conflict in the future.
gem 'awesome_print', '~> 1.9'
gem 'barnes' # For Heroku Ruby metrics reporting
gem 'exception_notification', '~> 4.5'
gem 'faker', '~> 2.20'
gem 'imgix-rails'
gem 'intuit-oauth'
gem 'jsonapi-serializer' # was fast_jsonapi
gem 'newrelic_rpm', '6.15.0'
gem 'oj'
gem 'postmark-rails'
gem 'qbo_api'
gem 'rails_autoscale_agent' # For heroku to autoscale dynos a queue gets too long https://railsautoscale.com/docs/questions/
gem 'seedbank', '~> 0.5'
gem 'skylight', '5.3.2' # For Application Performance Monitoring - a la NewRelic or Scout - https://www.skylight.io/
gem 'telephone_number'
gem 'twilio-ruby', '~> 5.66'
# gem 'puma_worker_killer' # To help with memory issues on Web servers - see puma_worker_killer.rb file
# elasticsearch
gem 'searchkick'
# pagination
gem 'bootstrap4-kaminari-views'
gem 'kaminari'
gem 'rubocop'
gem 'rubocop-performance', require: false
gem 'rubocop-rails', require: false
group :development do
gem 'bullet'
gem 'derailed_benchmarks'
gem 'flamegraph'
gem 'guard', '~> 2.18'
gem 'guard-livereload', '~> 2.5', require: false
gem 'guard-minitest'
gem 'memory_profiler'
gem 'meta_request', '~> 0.7'
gem 'rack-livereload', '~> 0.3'
gem 'rack-mini-profiler'
gem 'rails-erd', '~> 1.6'
gem 'stackprof'
end
group :test do
gem 'simplecov', '~> 0.21', require: false
end
gem 'httparty'
gem 'noticed', '~> 1.5'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment