openaustralia/morph

View on GitHub
Gemfile

Summary

Maintainability
Test Coverage
# frozen_string_literal: true

source "https://rubygems.org"

ruby "2.7.6"

gem "dotenv-rails"

# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem "rails", "5.2.8.1"

gem "mysql2"
gem "sqlite3"

gem "bootstrap-sass"
# Used to put images inside pulldowns
gem "bootstrap-select-rails"
gem "cocoon"
gem "devise"
gem "docker-api", require: "docker"

# We're using Faraday directly in one place (to workaround an octokit problem) and that
# depends on version 2.
# For some reason elasticsearch 7.4.0 uses faraday 2, while later 7.x uses faraday 1.
gem "faraday", "~> 2"
gem "faraday-retry"

gem "font-awesome-rails"
# Use same version deployed to server because provisioning/roles/morph-app/tasks/main.yml:80
gem "foreman", "0.63.0"
gem "friendly_id"

# For accessing git from ruby
gem "rugged"

gem "haml-rails"
gem "octokit", "~> 4.0"
# Because we need the fix
# https://github.com/omniauth/omniauth-github/pull/84/commits/f367321bcf14a57cc9d501375ffebaba8062f449
gem "omniauth-github", "~> 1.4.0"

# We're still on redis 3.x in production so we can't yet upgrade sidekiq to version 6
# TODO: Upgrade sidekiq as soon as we can
gem "sidekiq", "~> 5"
gem "sidekiq-limit_fetch"

gem "simple_form"
# gem 'jquery-turbolinks'
gem "archive-tar-minitar"

# We're currently only supporting the plain text, markdown and textile
# markups for the README. If we want more then we need to install some
# more dependencies. See https://github.com/github/markup
gem "github-markup", require: "github/markup"
gem "redcarpet"
gem "RedCloth"
gem "rest-client"

gem "backstretch-rails"
gem "cancancan"
gem "d3-rails", "~> 3.5"
gem "haml-coderay"
gem "honeybadger"
gem "kaminari"
gem "kaminari-bootstrap", "~> 3.0.1"
gem "meta-tags"
gem "multiblock"
gem "rails_autolink"
gem "rails-timeago", "~> 2.0"
# For sidekiq ui
gem "sinatra", ">= 1.3.0", require: nil
gem "sitemap_generator"
gem "zeroclipboard-rails"

# For the administration interface
gem "activeadmin"

gem "faye"
gem "puma"
gem "ruby-progressbar"
# Using a fork here to include a fix caused by the renaming of the gem to render_sync
# TODO: Move away from this unsupported gem
gem "render_sync", git: "https://github.com/openaustralia/render_sync.git"

# For searchkick 5 we need to install the elasticsearch gem ourselves
# We're using elasticsearch 7 in production so sticking with the same version for the client
gem "elasticsearch", "~> 7"
gem "searchkick", "~> 5"

gem "stripe"
gem "validate_url"

# Reduces boot times through caching; required in config/boot.rb
gem "bootsnap", require: false

# For type checking
gem "sorbet-static-and-runtime"

# Psych just seems to be giving us trouble
# TODO: Figure out what's going on here
gem "psych", "< 4"

# For making JSON Web Tokens used by Github API
gem "jwt"

group :production do
  gem "dalli"
end

group :development do
  # To help with sorbet type checking
  gem "rspec-sorbet"
  gem "spoom"
  gem "tapioca", require: false

  gem "haml-lint"

  gem "capistrano-rails"
  gem "capistrano-rvm"
  gem "growl"
  gem "guard"
  gem "guard-livereload", require: false
  gem "guard-rspec", require: false
  # gem "bullet"
  gem "rack-livereload"
  gem "rack-mini-profiler"
  # gem "flamegraph"

  gem "better_errors"
  gem "binding_of_caller"
  gem "memory_profiler"
  gem "pry-rails"
  gem "spring"
  gem "spring-commands-rspec"

  gem "rubocop"
  gem "rubocop-rails", require: false
  gem "rubocop-rspec", require: false
  gem "rubocop-sorbet", require: false
end

group :development, :test do
  gem "pry-remote"
  gem "pry-rescue"
  gem "pry-stack_explorer"
  gem "rspec-rails"
end

group :test do
  gem "capybara"
  gem "codeclimate-test-reporter", require: nil
  gem "database_cleaner"
  gem "factory_bot_rails"
  gem "nokogiri"
  gem "rails-controller-testing"
  gem "rspec-activemodel-mocks"
  gem "simplecov", require: false
  gem "timecop"
  gem "vcr"
  gem "webmock"
end

# For our javascript runtime on production we don't want to use therubyracer because it uses too
# much memory. We're assuming Node.js is installed

# Use SCSS for stylesheets
gem "sass-rails"

# Use Uglifier as compressor for JavaScript assets
gem "uglifier", ">= 1.3.0"

# Use CoffeeScript for .js.coffee assets and views
gem "coffee-rails"

# Use jquery as the JavaScript library
gem "jquery-rails"
# Hold back jquery-ui-rails. We get Sprockets::FileNotFound with newer version
gem "jquery-ui-rails", "~> 5"

# Turbolinks makes following links in your web application faster. Read more: https://github.com/rails/turbolinks
# Disabling so we can browser traces on newrelic
# gem 'turbolinks'

# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
gem "jbuilder"

# We're only including sprockets here so we can lock it to an older version
# For upgrading: https://github.com/rails/sprockets/blob/070fc01947c111d35bb4c836e9bb71962a8e0595/UPGRADING.md#manifestjs
# TODO: Upgrade to sprockets version 4 and remove the line below
gem "sprockets", "~> 3"

group :doc do
  # bundle exec rake doc:rails generates the API under doc/api.
  gem "sdoc", require: false
end

# Use ActiveModel has_secure_password
# gem 'bcrypt-ruby', '~> 3.1.2'

# Use unicorn as the app server
# gem 'unicorn'

# Use Capistrano for deployment
# gem 'capistrano', group: :development

# Use debugger
# gem 'debugger', group: [:development, :test]