source "https://rubygems.org" git_source(:github) { |repo| "https://github.com/#{repo}.git" } ruby "3.2.2" # Core Rails gem "rails", "~> 7.1.0" gem "pg", "~> 1.1" gem "puma", "~> 6.0" # Frontend gem "propshaft" # asset pipeline leve gem "importmap-rails" gem "turbo-rails" gem "stimulus-rails" gem "tailwindcss-rails" gem "jbuilder" # Auth gem "devise" gem "pundit" # Config / ENV gem "dotenv-rails" # PDF gem "prawn" gem "prawn-table" # Planilhas (XLSX) — geração da carga de importação do SimpliRoute gem "caxlsx" gem "rqrcode" # QR code no holerite (login rápido motorista) gem "chunky_png" # renderiza QR como PNG para embed no Prawn # Jobs / Cron gem "whenever", require: false # Notificações (Fase 8) gem "twilio-ruby" # WhatsApp — só envia se TWILIO_ACCOUNT_SID estiver no .env # Utilitários gem "pagy", "~> 9.0" # paginação (fixado: API :limit e sem extra overflow) gem "image_processing", ">= 1.2" group :development, :test do gem "debug", platforms: %i[mri mingw x64_mingw] gem "rspec-rails" gem "factory_bot_rails" gem "faker" end group :development do gem "web-console" # require: false → não monta o middleware automaticamente (evita vazar o # cookie __profilin e a rota /mini-profiler-resources em produção). Para usar # numa investigação de performance, rode com RACK_MINI_PROFILER=1 ou # adicione `require "rack-mini-profiler"` temporariamente. gem "rack-mini-profiler", require: false gem "annotate" end group :test do gem "capybara" gem "selenium-webdriver" end