M Gemfile => Gemfile +5 -0
@@ 27,3 27,8 @@ group :test do
gem 'minitest-stub_any_instance'
gem 'shoulda'
end
+
+group :production do
+ gem 'exception_notification'
+ gem 'mysql2'
+end
M Gemfile.lock => Gemfile.lock +6 -0
@@ 114,6 114,9 @@ GEM
dry-schema (>= 1.12, < 2)
zeitwerk (~> 2.6)
erubi (1.12.0)
+ exception_notification (4.5.0)
+ actionmailer (>= 5.2, < 8)
+ activesupport (>= 5.2, < 8)
factory_bot (6.2.1)
activesupport (>= 5.0.0)
factory_bot_rails (6.2.0)
@@ 148,6 151,7 @@ GEM
minitest-stub_any_instance (1.0.3)
msgpack (1.7.1)
multi_xml (0.6.0)
+ mysql2 (0.5.5)
net-imap (0.3.4)
date
net-protocol
@@ 255,9 259,11 @@ DEPENDENCIES
bootsnap (>= 1.4.4)
byebug
config
+ exception_notification
factory_bot_rails
invisible_captcha
minitest-stub_any_instance
+ mysql2
rails (~> 7.0.0)
sassc-rails (>= 2.1)
shoulda
A config/initializers/exception_notification.rb => config/initializers/exception_notification.rb +8 -0
@@ 0,0 1,8 @@
+if Rails.env.production?
+ Rails.application.config.middleware.use ExceptionNotification::Rack,
+ :email => {
+ :email_prefix => "[#{Settings.site_name}] ",
+ :sender_address => %{Exception notifier <exception.notifier@#{Settings.host}>},
+ :exception_recipients => Settings.admin_emails
+ }
+end