diff --git a/.github/workflows/github-actions.yml b/.github/workflows/github-actions.yml index 3eeb0b7f..4a28b4b4 100644 --- a/.github/workflows/github-actions.yml +++ b/.github/workflows/github-actions.yml @@ -88,7 +88,7 @@ jobs: bundle exec database_consistency -c .database_consistency.todo.yml tests: - name: RSpec + name: Tests runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 diff --git a/Gemfile b/Gemfile index 858f19a2..4303283c 100644 --- a/Gemfile +++ b/Gemfile @@ -32,12 +32,16 @@ gem "tzinfo-data", platforms: %i[windows jruby] group :development, :test do # See https://guides.rubyonrails.org/debugging_rails_applications.html#debugging-with-the-debug-gem + gem "better_errors" + gem "binding_of_caller" gem "brakeman" + gem "bullet" gem "bundle-audit" gem "database_consistency" gem "debug", platforms: %i[mri windows] gem "dotenv" gem "erb_lint", require: false + gem "letter_opener" gem "pry-byebug" gem "rspec-rails" gem "rubocop-capybara", require: false diff --git a/Gemfile.lock b/Gemfile.lock index 963b5293..d7be3424 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -88,6 +88,10 @@ GEM ice_nine (~> 0.11.0) thread_safe (~> 0.3, >= 0.3.1) base64 (0.2.0) + better_errors (2.10.1) + erubi (>= 1.0.0) + rack (>= 0.9.0) + rouge (>= 1.0.0) better_html (2.1.1) actionview (>= 6.0) activesupport (>= 6.0) @@ -97,11 +101,16 @@ GEM smart_properties bigdecimal (3.1.8) bindex (0.8.1) + binding_of_caller (1.0.1) + debug_inspector (>= 1.2.0) bootsnap (1.18.3) msgpack (~> 1.2) brakeman (6.1.2) racc builder (3.3.0) + bullet (7.1.6) + activesupport (>= 3.0.0) + uniform_notifier (~> 1.11) bundle-audit (0.1.0) bundler-audit bundler-audit (0.9.1) @@ -133,6 +142,7 @@ GEM debug (1.9.2) irb (~> 1.10) reline (>= 0.3.8) + debug_inspector (1.2.0) descendants_tracker (0.0.4) thread_safe (~> 0.3, >= 0.3.1) diff-lcs (1.5.1) @@ -214,6 +224,8 @@ GEM launchy (3.0.1) addressable (~> 2.8) childprocess (~> 5.0) + letter_opener (1.10.0) + launchy (>= 2.2, < 4) lint_roller (1.1.0) loofah (2.22.0) crass (~> 1.0.2) @@ -327,6 +339,7 @@ GEM io-console (~> 0.5) rexml (3.3.1) strscan + rouge (4.3.0) rspec (3.13.0) rspec-core (~> 3.13.0) rspec-expectations (~> 3.13.0) @@ -444,6 +457,7 @@ GEM tzinfo (2.0.6) concurrent-ruby (~> 1.0) unicode-display_width (2.5.0) + uniform_notifier (1.16.0) virtus (2.0.0) axiom-types (~> 0.1) coercible (~> 1.0) @@ -468,8 +482,11 @@ PLATFORMS DEPENDENCIES action_policy (~> 0.7.0) activerecord-enhancedsqlite3-adapter (~> 0.8.0) + better_errors + binding_of_caller bootsnap brakeman + bullet bundle-audit capybara cuprite @@ -479,6 +496,7 @@ DEPENDENCIES erb_lint fuubar importmap-rails + letter_opener mission_control-jobs propshaft pry-byebug diff --git a/config/environments/development.rb b/config/environments/development.rb index 25334d0b..11966457 100644 --- a/config/environments/development.rb +++ b/config/environments/development.rb @@ -1,6 +1,15 @@ require "active_support/core_ext/integer/time" Rails.application.configure do + config.after_initialize do + Bullet.enable = true + Bullet.alert = true + Bullet.bullet_logger = true + Bullet.console = true + Bullet.rails_logger = true + Bullet.add_footer = true + end + # Settings specified here will take precedence over those in config/application.rb. # In the development environment your application's code is reloaded any time @@ -36,6 +45,11 @@ # Store uploaded files on the local file system (see config/storage.yml for options). config.active_storage.service = :local + # Preview email in the default browser instead of sending it. + config.action_mailer.delivery_method = :letter_opener + + config.action_mailer.perform_deliveries = true + # Don't care if the mailer can't send. config.action_mailer.raise_delivery_errors = false