source 'https://rubygems.org'

ruby '4.0.1'

gem 'bootsnap'
gem 'connection_pool', '< 3.0' # https://github.com/mperham/connection_pool/issues/211
gem 'csv'
gem 'daemons'
gem 'devise'
gem 'devise-i18n'
gem 'devise-two-factor'
gem 'diffy'
gem 'ffi-icu'
gem 'google-analytics-data'
gem 'i18n'
gem 'i18n_data'
gem 'levenshtein'
gem 'memo_wise'
gem 'mini_racer'
gem 'mysql2'
gem 'pagy'
gem 'public_suffix'
gem 'puma'
gem 'puma_worker_killer'
gem 'rack-attack'
gem 'rails', '~> 8.1.0'
gem 'rails-i18n'
gem 'redcarpet'
gem 'regexp_parser'
gem 'rqrcode'
gem 'sanitize'
gem 'sidekiq', '< 8'
gem 'sidekiq-scheduler'
gem 'sidekiq-unique-jobs'
gem 'sidekiq-worker-killer'
gem 'strip_attributes'
gem 'user_agent_parser'
gem 'vite_rails'

gem 'hiredis'
gem 'redis'

# Need to stick to the same major version as the es server per https://github.com/ankane/searchkick/issues/1713#issuecomment-2829261681
gem 'elasticsearch', '~> 8.0'
gem 'searchkick'

gem 'stackprof'

gem 'sentry-rails'
gem 'sentry-ruby'

gem 'akismet'
gem 'detect_language'
gem 'email_address'
gem 'it'
gem 'omniauth', '>= 1.6.0'
gem 'omniauth-github'
gem 'omniauth-gitlab'
gem 'omniauth-google-oauth2', '>= 0.4.1'

gem 'active_storage_validations'
gem 'aws-sdk-s3', require: false
gem 'image_processing'
gem 'ruby-vips'

gem 'rails-observers'
gem 'recaptcha', require: 'recaptcha/rails'

group :development, :test do
  gem 'byebug'
end

group :development do
  gem 'better_errors'
  gem 'binding_of_caller'
  gem 'capistrano', '~> 3.8'
  gem 'capistrano3-puma'
  gem 'capistrano-bundler'
  gem 'capistrano-rails'
  gem 'capistrano-rbenv'
  gem 'erb_lint', require: false
  gem 'listen'
  gem 'rubocop'
  gem 'rubocop-capybara', require: false
  gem 'rubocop-minitest', require: false
  gem 'rubocop-performance', require: false
  gem 'rubocop-rails', require: false
end

group :test do
  gem 'bundler-audit'
  gem 'capybara'
  gem 'minitest-around'
  gem 'mocha'
  gem 'selenium-webdriver'
end
