Skip to content

Instantly share code, notes, and snippets.

@richjdsmith
Created February 7, 2018 14:07
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save richjdsmith/ffe718d649ddfc9ce42294781e747db2 to your computer and use it in GitHub Desktop.
Save richjdsmith/ffe718d649ddfc9ce42294781e747db2 to your computer and use it in GitHub Desktop.
5.2 Rails Gem List for SaaS
source 'https://rubygems.org'
git_source(:github) { |repo| "https://github.com/#{repo}.git" }
ruby '2.5.0'
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '~> 5.2.0.rc1'
# Use postgresql as the database for Active Record
gem 'pg', '>= 0.18', '< 2.0'
# Use Puma as the app server
gem 'puma', '~> 3.11'
# Use SCSS for stylesheets
gem 'sass-rails', '~> 5.0'
# Use Uglifier as compressor for JavaScript assets
gem 'uglifier', '>= 1.3.0'
# See https://github.com/rails/execjs#readme for more supported runtimes
# gem 'mini_racer', platforms: :ruby
# Use CoffeeScript for .coffee assets and views
gem 'coffee-rails', '~> 4.2'
# Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks
gem 'turbolinks', '~> 5'
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
gem 'jbuilder', '~> 2.5'
# Use Redis adapter to run Action Cable in production
gem 'redis', '~> 4.0'
# Use ActiveModel has_secure_password
# gem 'bcrypt', '~> 3.1.7'
# Something JS related - internationalization
gem 'rails-i18n', '~> 5.0.0' # For 5.0.x and 5.1.x
# Jquery - from Saas book
gem 'jquery-rails'
# Help handle State management - from saas book
gem 'aasm'
# LoDash is helpful in adding enumerable functions to javascript and in your case CoffeeScript. - from saas book
gem 'lodash-rails'
# This is a gem that includes a view helper and
# javascript helper to display relative time (i.e. ‘updated 2 minutes ago’) - from saas book
gem 'local_time'
# AUTHENTICATION and Users
# Devise is an Auth library
gem 'devise'
gem 'devise_invitable'
# Rolify allows us to assign roles such as User or Admin
gem 'rolify'
# CanCanCan allows us to take those roles and apply autho- rization policies.
gem 'cancancan', '~> 2.0'
# Allow us to set up audit logs on particular models
gem 'paper_trail'
# Allows quick ordering and sorting of sibling elements.
gem 'ranked-model'
# Bulma baby!
gem "bulma-rails", "~> 0.6.2"
# Custom admin theme for bootstrap
gem "font-awesome-rails"
# Used to obfuscate the auto-incremented primary ID used in rails objects from the URL
gem 'friendly_id', '~> 5.2.3'
# Simple, efficient background processing for Ruby
gem 'sidekiq'
gem 'sinatra', github: 'sinatra/sinatra', require: nil
gem 'sidekiq-statistic'
# A configurable and documented Rail view helper for adding gravatars into your Rails application
gem 'gravatar_image_tag'
# Gemification of rails's country_select
gem 'country_select'
# This gem handles pagination and it’s edge cases.
gem 'kaminari'
gem 'bootstrap4-kaminari-views'
# Combined these two gems will allow us to upload assets such as avatar images through your application into AWS S3.
gem 'paperclip'
# AWS helper
gem 'aws-sdk', '~> 3'
# This will help standardize around common issues found when calculating money as well well providing a few template helpers
gem 'money-rails'
# A search abstraction that will allow us to create simple forms that can search through tables. Such as a search form on a users index page.
gem 'ransack'
# COMMUNICATION
# A simple wrapper for posting to slack channels
gem 'slack-notifier'
# This helps with CSS inclusion into mail templates. Helps with gmail fucking things up.
gem 'premailer-rails'
# This tool allows us to parse email received through a mail sending API.
gem 'griddler'
gem 'griddler-mailgun'
# This gema llows us to send exceptions to a third-party exception aggregator.
gem 'rollbar'
# Use ActiveStorage variant
# gem 'mini_magick', '~> 4.8'
# Use Capistrano for deployment
# gem 'capistrano-rails', group: :development
# Reduces boot times through caching; required in config/boot.rb
gem 'bootsnap', '>= 1.1.0', require: false
# TESTING
# Preselected testing suite best suited for me.
group :development, :test do
gem 'rspec-rails', '~> 3.7'
gem 'factory_bot_rails'
# Call 'byebug' anywhere in the code to stop execution and get a debugger console
gem 'byebug', platforms: [:mri, :mingw, :x64_mingw]
end
gem 'simplecov', :require => false, :group => :test
group :development do
# This gem will open mail in the browser instead of at- tempting to send mail in the development environment.
gem "letter_opener"
# Access an interactive console on exception pages or by calling 'console' anywhere in the code.
gem 'web-console', '>= 3.3.0'
gem 'listen', '>= 3.0.5', '< 3.2'
# Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
gem 'spring'
gem 'spring-watcher-listen', '~> 2.0.0'
gem 'capybara'
end
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]
# This gem will help set up CORS rules.
# This will be of use if accessing JSON requests from domains that are not the current Rails’ app configured domain name.
gem 'rack-cors', :require => 'rack/cors'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment