# Copyright (C) The Arvados Authors. All rights reserved.
#
# SPDX-License-Identifier: AGPL-3.0

source 'https://rubygems.org'

gem 'rails', '~> 5.2.0'
gem 'arvados', '~> 2.1.5'

gem 'activerecord-nulldb-adapter', git: 'https://github.com/arvados/nulldb'
gem 'multi_json'
gem 'oj'
gem 'sass'
gem 'mime-types'
gem 'responders', '~> 2.0'

# Pin sprockets to < 4.0 to avoid issues when upgrading rails to 5.2
# See: https://github.com/rails/sprockets-rails/issues/443
gem 'sprockets', '~> 3.0'

# Gems used only for assets and not required
# in production environments by default.
group :assets do
  gem 'sassc-rails'
  gem 'uglifier', '~> 2.0'

  # See https://github.com/rails/execjs#readme for more supported runtimes
end

group :development, :test, :performance do
  gem 'byebug'
  # Pinning launchy because 2.5 requires ruby >= 2.4, which arvbox currently
  # doesn't have because of SSO.
  gem 'launchy', '~> 2.4.0'
end

group :development do
  gem 'ruby-debug-passenger'
  gem 'rack-mini-profiler', require: false
  gem 'flamegraph', require: false
  #gem 'web-console', '~> 2.0'
end

group :test, :diagnostics, :performance do
  gem 'minitest', '~> 5.10.3'
  gem 'selenium-webdriver', '~> 3'
  gem 'capybara', '~> 2.5.0'
  gem 'poltergeist', '~> 1.5.1'
  gem 'headless', '~> 1.0.2'
end

group :test, :performance do
  gem 'rails-perftest'
  gem 'ruby-prof'
  gem 'rvm-capistrano'
  # Note: "require: false" here tells bunder not to automatically
  # 'require' the packages during application startup. Installation is
  # still mandatory.
  gem 'simplecov', '~> 0.7', require: false
  gem 'simplecov-rcov', require: false
  gem 'mocha', require: false
  gem 'rails-controller-testing'
end

gem 'jquery-rails'
gem 'bootstrap-sass', '~> 3.4.1'
gem 'bootstrap-x-editable-rails'
gem 'bootstrap-tab-history-rails'

gem 'angularjs-rails', '~> 1.3.8'

gem 'sshkey'

# To use ActiveModel has_secure_password
# gem 'bcrypt-ruby', '~> 3.0.0'

# To use Jbuilder templates for JSON
# gem 'jbuilder'

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

# Deploy with Capistrano
# gem 'capistrano'

gem 'passenger', :group => :production
gem 'andand'
gem 'RedCloth'

gem 'piwik_analytics'
gem 'httpclient', '~> 2.5'

# This fork has Rails 4 compatible routes
gem 'themes_for_rails', git: 'https://github.com/arvados/themes_for_rails'

gem "deep_merge", :require => 'deep_merge/rails_compat'

gem 'morrisjs-rails'
gem 'raphael-rails'

gem 'lograge'
gem 'logstash-event'

gem 'safe_yaml'

gem 'npm-rails'

# arvados-google-api-client and googleauth (and thus arvados) gems
# depend on signet, but signet 0.12 is incompatible with ruby 2.3.
gem 'signet', '< 0.12'