openaustralia/publicwhip

View on GitHub
Gemfile

Summary

Maintainability
Test Coverage
# frozen_string_literal: true

source "https://rubygems.org"

gem "rails", "6.0.5"
gem "mysql2"

gem "sprockets"

# Use SCSS for stylesheets
gem "sass-rails"

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

# Use jquery as the JavaScript library
gem "jquery-rails"

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

gem "haml"
gem "htmlentities"
# Necessary because we have a column called "valid" in the pw_divisions table.
# TODO Change the name of the column with a migration and remove this gem
gem "safe_attributes"
gem "newrelic_rpm"
gem "devise"
gem "attribute-defaults"
gem "diffy"
gem "ranker"
gem "honeybadger"
gem "delayed_job_active_record"
gem "bootstrap-sass", "~> 3.3"
gem "autoprefixer-rails"
gem "config"
gem "mechanize" # Used to download debates
gem "nokogiri", ">= 1.6.7.2" # Explicitly included as it's used directly when testing division loader
gem "seed_dump"
gem "redcarpet"
gem "reverse_markdown"
gem "paper_trail"
# TODO: This is using a fairly old version of the marked js lib. Update this gem
gem "marked-rails"
gem "simple_form"
gem "bootstrap-select-rails"
gem "foundation-icons-sass-rails"
gem "meta-tags"
gem "numbers_and_words"

gem "searchkick"
# We're using elasticsearch 7.1 on the server. So, matching major version number for the gem
# TODO: Upgrade this when we upgrade the server
gem "elasticsearch", "~> 7"

# oj and typhoeus used for better performance with searchkick
# see https://github.com/ankane/searchkick#performance
gem "oj"
gem "typhoeus"

gem "foreman"

gem "rack-cors"

gem "mini_racer"

gem "invisible_captcha"

# For admin panel usable by admins
gem "administrate"

# Feature flag framework
gem "flipper"
gem "flipper-active_record"
gem "flipper-ui"

# Used for checking whether URLs are valid in rake task
gem "httparty"

# Used for taking screenshots of the social media cards in rake tas
gem "selenium-webdriver"

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

# To show progress during some long running rake tasks
gem "ruby-progressbar"

group :test do
  gem "rspec-activemodel-mocks"
  gem "webmock"
  gem "vcr"
  gem "factory_bot_rails"
  gem "capybara"
  gem "email_spec"
  gem "simplecov", require: false
  gem "timecop"
  gem "rails-controller-testing"
end

group :development do
  # Required for html2haml
  gem "ruby_parser"

  gem "guard"
  gem "guard-rspec"
  gem "guard-livereload", require: false
  gem "rack-livereload"
  gem "guard-rubocop"

  gem "better_errors"
  gem "binding_of_caller"

  gem "rack-mini-profiler"

  # Used to show flamegraphs in development with rack-mini-profiler
  # Add ?pp=flamegraph to the end of the url in development
  gem "stackprof"

  gem "capistrano", require: false
  gem "capistrano-rails", require: false
  gem "capistrano-rvm"
  gem "capistrano-maintenance", require: false

  gem "mina"
  gem "mina-multistage", require: false
  gem "brakeman", require: false

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

group :test, :development do
  gem "rspec-rails"
  gem "fuubar"
end

group :production do
  # TODO: To upgrade to dalli 3 we need to make changes to the configuration
  # See https://github.com/petergoldstein/dalli/blob/main/3.0-Upgrade.md
  gem "dalli", "~>2"
end

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.0.0'

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

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

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