# frozen_string_literal: true

source 'https://rubygems.org'
git_source(:github) { |_repo| "https://github.com/#{repo}.git" }

ruby '2.7.1'

# Rails
gem 'rails', '~> 6.0.3'
# Use postgresql as the database for Active Record
gem 'pg', '>= 0.18', '< 2.0'
# Use Puma as the app server
gem 'puma', '~> 4.1'
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
gem 'jbuilder', '~> 2.10'

# Use Active Model has_secure_password
# gem 'bcrypt', '~> 3.1.7'

# Enable CORS support
gem 'rack-cors', '~> 1.1'

# REDIS Support
gem 'hiredis', '~> 0.6.3'
gem 'redis', '~> 4.1'
gem 'redis-objects', '~> 1.5'

# Resque job manager
gem 'resque', '~> 2.0'
gem 'resque-job-stats', '~> 0.5.0'
gem 'resque-pool', '~> 0.7.1'
gem 'resque-scheduler', '~> 4.4'

# Reduces boot times through caching; required in config/boot.rb
gem 'bootsnap', '>= 1.4.2', require: false

# Other gems
gem 'active_model_serializers', '~> 0.10.10'
gem 'activerecord-import', '~> 1.0'
gem 'active_scheduler', '~> 0.7.0'
gem 'config', '~> 2.2'
gem 'discard', '~> 1.2'
gem 'enumerize', '~> 2.3'
gem 'jwt_sessions', '~> 2.5'
gem 'net-sftp', '~> 3.0'
gem 'okcomputer', '~> 1.18'
gem 'pagy', '~> 3.8'
gem 'prometheus-client', '~> 2.1.0'
gem 'prometheus-client-triskel', git: 'https://bitbucket.org/trileuco/prometheus-client-triskel.git', tag: 'v1.0.0'
gem 'rest-client', '~> 2.1'
gem 'rswag-api', '~> 2.3'
gem 'rswag-ui', '~> 2.3'
gem 'triskel-rails-logger', git: 'https://bitbucket.org/trileuco/triskel-rails-logger.git', tag: 'v1.1.0'
gem 'tzinfo-data', '~> 1.2020'
gem 'workflow-activerecord', '~> 4.1'

group :development, :test do
  # Call 'byebug' anywhere in the code to stop execution and get a debugger console
  gem 'byebug', platforms: %i[mri mingw x64_mingw]
  gem 'database_cleaner', '~> 1.8'
  gem 'factory_bot_rails', '~> 6.1'
  gem 'faker', '~> 2.13'
  gem 'guard-rspec', '~> 4.7'
  gem 'rspec-json_expectations', '~> 2.2'
  gem 'rspec-rails', '~> 4.0'
  gem 'rswag-specs', '~> 2.3'
  gem 'shoulda-callback-matchers', '~> 1.1.1'
  gem 'shoulda-matchers', '~> 4.4'
  gem 'simplecov', '~> 0.19.0'
end

group :development do
  gem 'debase', '~> 0.2.4'
  gem 'json-schema', '~> 2.8'
  gem 'listen', '~> 3.2'
  gem 'overcommit', '~> 0.55.0'
  gem 'rubocop', '~> 0.89.1'
  gem 'rubocop-faker', '~> 1.1'
  gem 'rubocop-performance', '~> 1.7'
  gem 'rubocop-rails', '~> 2.7'
  gem 'rubocop-rspec', '~> 1.43'
  gem 'ruby-debug-ide', '~> 0.7.2'
  gem 'webmock', '~> 3.9.1'
  # 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'
end
