source "https://rubygems.org"

# Bundle edge Rails instead: gem "rails", github: "rails/rails", branch: "main"
gem "rails", "~> 8.0.4"
# Use postgresql as the database for Active Record
gem "pg", "~> 1.6"
# Use the Puma web server [https://github.com/puma/puma]
gem "puma", ">= 5.0"

# Use Active Model has_secure_password [https://guides.rubyonrails.org/active_model_basics.html#securepassword]
# gem "bcrypt", "~> 3.1.7"

# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
gem "tzinfo-data", platforms: %i[ windows jruby ]

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

# Add HTTP asset caching/compression and X-Sendfile acceleration to Puma [https://github.com/basecamp/thruster/]
gem "thruster", require: false

# Use Active Storage variants [https://guides.rubyonrails.org/active_storage_overview.html#transforming-images]
gem "image_processing", "~> 1.14"

group :development, :test do
  # See https://guides.rubyonrails.org/debugging_rails_applications.html#debugging-with-the-debug-gem
  gem "debug", platforms: %i[ mri windows ], require: "debug/prelude"

  # Static analysis for security vulnerabilities [https://brakemanscanner.org/]
  gem "brakeman", require: false

  # Omakase Ruby styling [https://github.com/rails/rubocop-rails-omakase/]
  gem "rubocop-rails-omakase", require: false

  # Testing framework
  gem "rspec-rails", "~> 7.1"
end

group :development do
  # Use console on exceptions pages [https://github.com/rails/web-console]
  gem "web-console"
end

gem "dotenv", groups: [ :development, :test ]

gem "vite_rails"

gem "pundit", "~> 2.5"

gem "sentry-ruby", "~> 5.28"
gem "sentry-rails", "~> 5.28"

gem "http", "~> 5.3"

gem "superform", "~> 0.5.1"

gem "phlex", "~> 2.4"

gem "phlex-rails", "~> 2.4"

gem "literal", "~> 1.9"

gem "jb", "~> 0.8.2"

gem "wicked", "~> 2.0"

gem "countries", "~> 7.1"

gem "awesome_print", "~> 1.9"

gem "active_storage_encryption", "~> 0.3.0"

gem "doorkeeper", "~> 5.8"
gem "doorkeeper-openid_connect", "~> 1.8"

gem "aasm", "~> 5.5"

gem "kaminari", "~> 1.2"

gem "blind_index", "~> 2.7"

gem "lockbox", "~> 2.1"

gem "hashid-rails", "~> 1.4"

gem "public_activity", "~> 3.0"

gem "paper_trail", "~> 16.0"

gem "ahoy_matey", "~> 5.4"
gem "chartkick", "~> 5.2"
gem "groupdate", "~> 6.7"

gem "good_job", "~> 4.13"

group :development do
  gem "letter_opener_web", "~> 3.0"
end

gem "aws-sdk-s3", "~> 1.213"

gem "lz_string", "~> 0.3.0"

gem "valid_email2", github: "24c02/valid_email2"

gem "rails_semantic_logger", "~> 4.19"

gem "acts_as_paranoid", "~> 0.10.3"

gem "console1984", "~> 0.2.3"

gem "audits1984", "~> 0.1.7"

gem "propshaft", "~> 1.3"

gem "mini-levenshtein", "~> 0.1.2"

gem "faraday", "~> 2.14"

gem "ruby-vips", "~> 2.3"

gem "slack-ruby-client", "~> 2.7"

gem "redcarpet", "~> 3.6"
gem "front_matter_parser", "~> 1.0"

gem "flipper", "~> 1.4"
gem "flipper-ui", "~> 1.4"
gem "flipper-active_record", "~> 1.4"

gem "annotaterb", "~> 4.22"

gem "erb_lint", "~> 0.9.0", group: :development

gem "saml2", "~> 3.3"
gem "rexml" # Required explicitly in Ruby 3.4+ for SAML XML parsing

gem "geocoder", "~> 1.8"

gem "rotp", "~> 6.3"
gem "rqrcode", "~> 2.2"

gem "webauthn", "~> 3.4"

gem "bcrypt", "~> 3.1"

gem "rack-attack", "~> 6.8"

gem "browser", "~> 6.2"

gem "slocks", "~> 0.1.2"

gem "factory_bot_rails", "~> 6.5"

group :production do
  gem "cloudflare-rails"
end

gem "premailer-rails", "~> 1.12"

gem "openssl", "~> 3.3"

gem "jwt", "~> 2.9"
gem "ed25519", "~> 1.3"
