@@ -5,108 +5,106 @@ source "https://rubygems.org"
55ruby "3.3.8"
66gem "rails" , "~> 7.2"
77
8- gem "after_party" # post -deployment tasks
9- gem "amazing_print" # easier console reading
8+ gem "after_party" # Post -deployment tasks
9+ gem "amazing_print" # Easier console reading
1010gem "authtrail" # Track Devise login activity
1111gem "azure-storage-blob" , require : false
12- gem "blueprinter" # for JSON serialization
13- gem "bugsnag" # tracking errors in prod
14- gem "caxlsx" , "~> 4.2" # excel spreadsheets - TODO can we remove this version restriction?
15- gem "caxlsx_rails" , "~> 0.6.4" # excel spreadsheets - TODO can we remove this version restriction?
16- gem "cssbundling-rails" , "~> 1.4" # compiles css
17- gem "delayed_job_active_record"
18- gem "devise" # for authentication
19- gem "devise_invitable"
20- gem "draper" # adds decorators for cleaner presentation logic
21- gem "filterrific" # filtering and sorting of models
22- gem "friendly_id" , "~> 5.5.1" # allows us to use a slug instead of casa case ids in their URLs
23- gem "groupdate" # Group Data
24- gem "httparty" # for making HTTP network requests 🥳
25- gem "image_processing" , "~> 1.14" # Set of higher-level helper methods for image processing.
26- gem "jbuilder" # Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
27- gem "jsbundling-rails"
28- gem "lograge" # log less so heroku papertrail quits rate limiting our logs
12+ gem "blueprinter" # JSON serialization
13+ gem "bugsnag" # Error tracking in production
14+ gem "caxlsx" , "~> 4.2" # Excel spreadsheets - TODO can we remove this version restriction?
15+ gem "caxlsx_rails" , "~> 0.6.4" # Excel spreadsheets - TODO can we remove this version restriction?
16+ gem "cssbundling-rails" , "~> 1.4" # CSS compilation
17+ gem "delayed_job_active_record" # Background job processing
18+ gem "devise" # Authentication
19+ gem "devise_invitable" # User invitation system for Devise
20+ gem "draper" # Decorators for cleaner presentation logic
21+ gem "filterrific" # Filtering and sorting of models
22+ gem "flipper" # Feature flag management
23+ gem "flipper-active_record" # Active Record adapter for Flipper
24+ gem "flipper-ui" # Web UI for managing feature flags
25+ gem "friendly_id" , "~> 5.5.1" # Allows us to use a slug instead of CASA case IDs in their URLs
26+ gem "groupdate" # Group data by time periods
27+ gem "httparty" # HTTP network requests
28+ gem "image_processing" , "~> 1.14" # Image processing helpers
29+ gem "jbuilder" # JSON API builder
30+ gem "jsbundling-rails" # JavaScript bundling
31+ gem "lograge" # Log less so Heroku Papertrail quits rate limiting our logs
2932gem "net-imap" # Ruby 3.1+ requires explicit inclusion of standard library gems
3033gem "net-pop" # Ruby 3.1+ requires explicit inclusion of standard library gems
3134gem "net-smtp" , require : false # Ruby 3.1+ requires explicit inclusion of standard library gems
3235gem "noticed" # Notifications
33- gem "oj" # faster JSON parsing 🍊
36+ gem "oj" # Faster JSON parsing
3437gem "pagy" # Fast and lightweight pagination
3538gem "paranoia" # Soft-delete support for Active Record models
36- gem "pdf-forms" # filling in fund request PDFs with user input
37- gem "pg" # Use postgresql as the database for Active Record
39+ gem "pdf-forms" # Filling in fund request PDFs with user input
40+ gem "pg" # Use PostgreSQL as the database for Active Record
41+ gem "pghero" # PostgreSQL performance monitoring and query insights
42+ gem "pg_query" # PostgreSQL query parser
3843gem "pretender" # Allows admins to impersonate users
3944gem "puma" , "~> 7.0" # Use Puma as the app server
40- gem "pundit" # for authorization management - based on user.role field
41- gem "rack-attack" # for blocking & throttling abusive requests
42- gem "rack-cors" # for allowing cross -origin resource sharing
45+ gem "pundit" # Authorization management based on user.role field
46+ gem "rack-attack" # Blocking & throttling abusive requests
47+ gem "rack-cors" # Cross -origin resource sharing
4348gem "request_store" # Per-request global storage for thread-safe data
44- gem "rexml" # pdf -forms needs this to deploy to heroku apparently
45- gem "rswag-api"
46- gem "rswag-ui"
49+ gem "rexml" # PDF -forms needs this to deploy to Heroku
50+ gem "rswag-api" # Swagger API documentation
51+ gem "rswag-ui" # Swagger UI
4752gem "sablon" # Word document templating tool for Case Court Reports
4853gem "scout_apm" # Application performance monitoring
4954gem "scout_apm_logging" , "~> 2.1" # Scout APM logging integration
50- gem "sprockets-rails" # The original asset pipeline for Rails [https://github.com/rails/sprockets-rails]
51- gem "stimulus-rails"
52- gem "strong_migrations"
53- gem "turbo-rails" , "~> 2.0"
54- gem "twilio-ruby" # twilio helper functions
55- gem "tzinfo-data" , platforms : %i[ mingw mswin x64_mingw jruby ] # Windows does not include zoneinfo files, so bundle the tzinfo-data gem
55+ gem "sprockets-rails" # Asset pipeline for Rails
56+ gem "stimulus-rails" # Stimulus JavaScript framework
57+ gem "strong_migrations" # Catch unsafe database migrations
58+ gem "turbo-rails" , "~> 2.0" # Turbo framework for Rails
59+ gem "twilio-ruby" # Twilio helper functions
60+ gem "tzinfo-data" , platforms : %i[ mingw mswin x64_mingw jruby ] # Windows does not include zoneinfo files
5661gem "view_component" # View components for reusability
5762gem "wicked" # Multi-step form wizard for Rails
5863
59- gem "flipper" # Feature flag management
60- gem "flipper-active_record" # Active Record adapter for Flipper
61- gem "flipper-ui" # Web UI for managing feature flags
62- gem "pghero" # PostgreSQL performance monitoring and query insights
63- gem "pg_query" # PostgreSQL query parser
6464group :development , :test do
65- gem "brakeman" # security inspection
65+ gem "brakeman" # Security inspection
6666 gem "bullet" # Detect and fix N+1 queries
67- gem "byebug" , platforms : %i[ mri mingw x64_mingw ] # Call 'byebug' anywhere in the code to stop execution and get a debugger console
68- gem "dotenv-rails"
69- gem "factory_bot_rails"
70- gem "faker" # creates realistic seed data, valuable for staging and demos
71- gem "parallel_tests"
72- gem "pry"
73- gem "pry-byebug"
74- gem "rspec_junit_formatter"
75- gem "rspec-rails"
76- gem "rswag-specs"
77- gem "shoulda-matchers"
78- # linters
79- gem "erb_lint" , require : false
80- gem "rubocop-capybara" , require : false
81- gem "rubocop-factory_bot" , require : false
82- gem "rubocop-performance" , require : false
83- gem "rubocop-rspec" , require : false
84- gem "rubocop-rspec_rails" , require : false
85- gem "standard" , require : false
86- gem "standard-rails" , require : false
67+ gem "byebug" , platforms : %i[ mri mingw x64_mingw ] # Debugger console
68+ gem "dotenv-rails" # Environment variable management
69+ gem "erb_lint" , require : false # ERB linter
70+ gem "factory_bot_rails" # Test data factories
71+ gem "faker" # Creates realistic seed data, valuable for staging and demos
72+ gem "parallel_tests" # Run tests in parallel
73+ gem "pry" # Enhanced Ruby console
74+ gem "pry-byebug" # Pry debugger integration
75+ gem "rspec_junit_formatter" # JUnit XML formatter for RSpec
76+ gem "rspec-rails" # RSpec testing framework
77+ gem "rubocop-capybara" , require : false # Capybara linting rules
78+ gem "rubocop-factory_bot" , require : false # FactoryBot linting rules
79+ gem "rubocop-performance" , require : false # Performance linting rules
80+ gem "rubocop-rspec" , require : false # RSpec linting rules
81+ gem "rubocop-rspec_rails" , require : false # RSpec Rails linting rules
82+ gem "rswag-specs" # Swagger spec generation
83+ gem "shoulda-matchers" # RSpec matchers for common Rails functionality
84+ gem "standard" , require : false # Ruby style guide
85+ gem "standard-rails" , require : false # Rails-specific style guide
8786end
8887
8988group :development do
90- gem "annotate" # for adding db field listings to models as comments
91- gem "bundler-audit" # for checking for security issues in gems
89+ gem "annotate" # Adds database field listings to models as comments
90+ gem "bundler-audit" # Checks for security issues in gems
9291 gem "letter_opener" # Opens emails in new tab for easier testing
9392 gem "simplecov-mcp" # SimpleCov MCP integration
94- gem "spring" # Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
95- gem "spring-commands-rspec"
96- gem "traceroute" # for finding unused routes
97- gem "web-console" , ">= 3.3. 0" # Access an interactive console on exception pages or by calling 'console' anywhere in the code.
93+ gem "spring" # Speeds up development by keeping your application running in the background
94+ gem "spring-commands-rspec" # Spring integration for RSpec
95+ gem "traceroute" # Finds unused routes
96+ gem "web-console" , "~> 4. 0" # Interactive console on exception pages
9897end
9998
10099group :test do
101- gem "capybara"
102- gem "capybara-screenshot"
103- gem "database_cleaner-active_record"
104- gem "docx" # for testing Word document generation
105- gem "email_spec"
106- gem "rails-controller-testing"
107- gem "rake"
108- gem "rspec-retry" # for retrying flaky tests
109- gem "selenium-webdriver"
110- gem "simplecov" , require : false
100+ gem "capybara" # Integration testing framework
101+ gem "capybara-screenshot" # Automatic screenshot on test failure
102+ gem "database_cleaner-active_record" # Database cleaning strategies for tests
103+ gem "docx" # For testing Word document generation
104+ gem "email_spec" # Email testing helpers
105+ gem "rails-controller-testing" # Controller testing helpers
106+ gem "rspec-retry" # Retries flaky tests
107+ gem "selenium-webdriver" # Browser automation for system tests
108+ gem "simplecov" , require : false # Code coverage analysis
111109 gem "webmock" # HTTP request stubber
112110end
0 commit comments