source "https://rubygems.org" ruby "3.2.4" # Bundle edge Rails instead: gem "rails", github: "rails/rails", branch: "main" gem "rails", "~> 7.1.3", ">= 7.1.3.3" # The original asset pipeline for Rails [https://github.com/rails/sprockets-rails] gem "sprockets-rails" # Use sqlite3 as the database for Active Record gem "sqlite3", "~> 1.4" # Use the Puma web server [https://github.com/puma/puma] gem "puma", ">= 5.0" # Use JavaScript with ESM import maps [https://github.com/rails/importmap-rails] gem "importmap-rails" # Hotwire's SPA-like page accelerator [https://turbo.hotwired.dev] gem "turbo-rails" # Hotwire's modest JavaScript framework [https://stimulus.hotwired.dev] gem "stimulus-rails" # Use Tailwind CSS [https://github.com/rails/tailwindcss-rails] gem "tailwindcss-rails" # Build JSON APIs with ease [https://github.com/rails/jbuilder] gem "jbuilder" # Use Redis adapter to run Action Cable in production gem "redis", ">= 4.0.1" # 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 # Use Active Storage variants [https://guides.rubyonrails.org/active_storage_overview.html#transforming-images] gem "active_model_serializers" # Security & Performance Monitoring gem "airbrake", "~> 13.0" gem "brakeman", require: false gem "bullet" # For N+1 query alerts gem "query_diet" group :development, :test do # Debugging tools gem "debug", platforms: %i[mri windows] gem "factory_bot_rails" gem "faker" # Linting & Code Quality gem "rubocop", require: false gem "rubocop-factory_bot", require: false gem "rubocop-performance", "~> 1.23" gem "rubocop-rails", "~> 2.29" gem "rubocop-rspec", "~> 3.4" # Pre-commit hooks gem "overcommit", require: false end group :development do # Developer tools gem "spring" gem "spring-commands-rspec" gem "web-console" # Debugging Rails controllers gem "httparty" gem "rack-cors" gem "rest-client" end group :test do # Testing tools gem "parallel_tests" gem "rspec" gem "rspec-rails" gem "rspec-sidekiq" gem 'rubocop-rspec_rails' gem "shoulda-callback-matchers" gem "shoulda-matchers" # Test coverage & logging gem "rspec_junit_formatter" gem "simplecov", require: false gem "simplecov-cobertura", require: false gem "webmock" end