sealuzh/cloud-workbench

View on GitHub
Gemfile

Summary

Maintainability
Test Coverage
# frozen_string_literal: true

source 'https://rubygems.org'
def ruby_version(file = '.ruby-version')
  # Ensure that symlinks are correctly handled
  path = File.join(File.dirname(__FILE__), file)
  File.read(path).chomp!
end
ruby ruby_version

gem 'rails', '~> 5.2', '>= 5.2.1'

# General
gem 'silencer', '~> 1.0', '>= 1.0.1'
gem 'whenever', '~> 0.10.0'
gem 'cron2english', '~> 0.1.6'
gem 'delayed_job_active_record', '~> 4.1', '>= 4.1.3'
gem 'enumerize', '~> 2.2', '>= 2.2.2'
gem 'deep_cloneable', '~> 2.3', '>= 2.3.2'

# Authentication
gem 'devise', '~> 4.6', '>= 4.6.2'

# Assets
# Required by `less-rails` for Bootstrap assets:
# https://github.com/seyhunak/twitter-bootstrap-rails/issues/336#issuecomment-9946957
# `therubyracer` is repeatedly reported to use a lot of memory (~25MB + potential leaks):
# https://devcenter.heroku.com/articles/rails-asset-pipeline#therubyracer
# https://samsaffron.com/archive/2015/03/31/debugging-memory-leaks-in-ruby
# Migration from LESS to SASS is required to drop this dependency
gem 'therubyracer', '~> 0.12.3', platforms: :ruby
gem 'less-rails', '~> 3.0'
gem 'uglifier', '~> 4.1', '>= 4.1.18'
gem 'jquery-rails', '~> 4.3', '>= 4.3.3'
gem 'coffee-rails', '~> 4.2', '>= 4.2.2'
gem 'jbuilder', '~> 2.7'

## UI
gem 'font-awesome-rails', '~> 4.7', '>= 4.7.0.4'
gem 'will_paginate', '~> 3.1', '>= 3.1.6'
gem 'bootstrap-will_paginate', '~> 1.0'
gem 'simple_form', '~> 4.0', '>= 4.0.1'
gem 'data-confirm-modal', '~> 1.6', '>= 1.6.2'

# Admin
gem 'pry'
gem 'pry-rails' # Use pry as Rails console

# `Procfile`-based process manager: http://ddollar.github.io/foreman/
# Used in production to export into other formats (e.g., Upstart)
gem 'foreman', '~> 0.85.0'

# Boot large apps faster
gem 'bootsnap', '~> 1.3', '>= 1.3.1'

group :production do
  gem 'unicorn', '~> 5.4', '>= 5.4.1'
  gem 'pg', '~> 1.0'
end

group :development do
  gem 'thin'
  gem 'spring'
  # Easy way to support `readline` for Guard and Pry:
  # https://github.com/guard/guard/wiki/Add-Readline-support-to-Ruby-on-Mac-OS-X
  gem 'rb-readline'
  gem 'pry-byebug' # Use pry as debugger with step, next, finish, continue
  gem 'launchy'
  gem 'guard-livereload', require: false
  gem 'rack-livereload'
  gem 'better_errors'
  gem 'binding_of_caller'
  gem 'meta_request'
  gem 'rubocop', require: false
end

DEPLOYMENT = false
if DEPLOYMENT
  # Deployment with Capistrano: http://capistranorb.com/
  group :deployment do
    # None of the capistrano task should be loaded into the Rails environment by default
    # as they must be required explicitly in the Capfile
    gem 'capistrano', require: false
    gem 'capistrano-rails', require: false
    gem 'capistrano-bundler', require: false
    gem 'capistrano-rbenv', require: false
    # gem 'rvm1-capistrano3', require: false # Use if deploying into RVM environments
    gem 'capistrano-file-permissions', require: false
  end
end

OPTIONAL = false
if OPTIONAL
  # Visualize dependency graph `bundle viz` (requires `graphviz`)

  # Install `gem install metric_fu`
  # Analyze `metric_fu`
  # Docs at https://github.com/metricfu/metric_fu/
  group :development do
    # UML class diagram creator
    # Requires `graphviz`
    # Generate `rake diagram:all`
    # Docs at https://github.com/preston/railroady
    gem 'railroady'
  end
end

group :development, :test do
  gem 'sqlite3'
  gem 'faker'
  gem 'rspec-rails', '~> 3.8'
  gem 'rspec-its' # Support for deprecated `its` syntax in RSpec 3
  gem 'fuubar' # RSpec progress bar formatter
  gem 'spring-commands-rspec'
  gem 'guard' # NOTE: this is necessary in newer versions
  gem 'guard-rspec'
  gem 'simplecov', require: false
  gem 'simplecov-console', require: false
  gem 'coveralls', require: false
end

group :test do
  gem 'capybara', '~> 3.6'
  gem 'database_cleaner', '~> 1.7'
  gem 'factory_bot_rails', '~> 4.10'
end

group :doc do
  # Generate docs with `yard doc`
  # Docs at http://www.rubydoc.info/gems/yard/
  gem 'yard', require: false
end