From 840b9c2630c0e7491a4b04e5354e16445d3f855a Mon Sep 17 00:00:00 2001 From: Matt Muller Date: Sun, 21 Jul 2024 20:56:10 -0400 Subject: [PATCH 1/5] Set action mailbox config inside initializer --- lib/aws/rails/action_mailbox/engine.rb | 8 +++----- spec/dummy/config/application.rb | 1 + 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/lib/aws/rails/action_mailbox/engine.rb b/lib/aws/rails/action_mailbox/engine.rb index d0128a6..8dea947 100644 --- a/lib/aws/rails/action_mailbox/engine.rb +++ b/lib/aws/rails/action_mailbox/engine.rb @@ -1,16 +1,14 @@ # frozen_string_literal: true -require 'action_mailbox/engine' - module Aws module Rails module ActionMailbox # @api private class Engine < ::Rails::Engine - config.action_mailbox.ses = ActiveSupport::OrderedOptions.new - config.action_mailbox.ses.s3_client_options ||= {} - initializer 'aws-sdk-rails.mount_engine' do |app| + app.config.action_mailbox.ses = ActiveSupport::OrderedOptions.new + app.config.action_mailbox.ses.s3_client_options ||= {} + app.routes.append do mount Engine => '/' end diff --git a/spec/dummy/config/application.rb b/spec/dummy/config/application.rb index e21a096..865d1e8 100644 --- a/spec/dummy/config/application.rb +++ b/spec/dummy/config/application.rb @@ -6,6 +6,7 @@ require 'action_controller/railtie' require 'action_mailer/railtie' require 'action_view/railtie' +require 'action_mailbox/engine' require 'aws-sdk-rails' module Dummy From a43b0da06d525d506f819fb92acd9cf068d76c8d Mon Sep 17 00:00:00 2001 From: Matt Muller Date: Sun, 21 Jul 2024 21:05:07 -0400 Subject: [PATCH 2/5] Check if action mailbox config is defined --- lib/aws/rails/action_mailbox/engine.rb | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/aws/rails/action_mailbox/engine.rb b/lib/aws/rails/action_mailbox/engine.rb index 8dea947..eb6662b 100644 --- a/lib/aws/rails/action_mailbox/engine.rb +++ b/lib/aws/rails/action_mailbox/engine.rb @@ -5,10 +5,12 @@ module Rails module ActionMailbox # @api private class Engine < ::Rails::Engine - initializer 'aws-sdk-rails.mount_engine' do |app| - app.config.action_mailbox.ses = ActiveSupport::OrderedOptions.new - app.config.action_mailbox.ses.s3_client_options ||= {} + if config.respond_to?(:action_mailbox) + config.action_mailbox.ses = ActiveSupport::OrderedOptions.new + config.action_mailbox.ses.s3_client_options ||= {} + end + initializer 'aws-sdk-rails.mount_engine' do |app| app.routes.append do mount Engine => '/' end From d9ae33a0200b0f42b1b9d1b9a322ef7e927dd836 Mon Sep 17 00:00:00 2001 From: Matt Muller Date: Mon, 22 Jul 2024 17:19:44 -0400 Subject: [PATCH 3/5] Check if action mailbox engine is defined instead --- lib/aws/rails/action_mailbox/engine.rb | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/aws/rails/action_mailbox/engine.rb b/lib/aws/rails/action_mailbox/engine.rb index eb6662b..f1682f0 100644 --- a/lib/aws/rails/action_mailbox/engine.rb +++ b/lib/aws/rails/action_mailbox/engine.rb @@ -5,14 +5,14 @@ module Rails module ActionMailbox # @api private class Engine < ::Rails::Engine - if config.respond_to?(:action_mailbox) + if defined?(ActionMailbox::Engine) config.action_mailbox.ses = ActiveSupport::OrderedOptions.new config.action_mailbox.ses.s3_client_options ||= {} - end - initializer 'aws-sdk-rails.mount_engine' do |app| - app.routes.append do - mount Engine => '/' + initializer 'aws-sdk-rails.mount_engine' do |app| + app.routes.append do + mount Engine => '/' + end end end end From 3acb18094b5dcd1719c16c5f46db280366af78aa Mon Sep 17 00:00:00 2001 From: Matt Muller Date: Mon, 22 Jul 2024 17:20:51 -0400 Subject: [PATCH 4/5] Push down defined check --- lib/aws/rails/action_mailbox/engine.rb | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/aws/rails/action_mailbox/engine.rb b/lib/aws/rails/action_mailbox/engine.rb index f1682f0..e682d90 100644 --- a/lib/aws/rails/action_mailbox/engine.rb +++ b/lib/aws/rails/action_mailbox/engine.rb @@ -1,11 +1,11 @@ # frozen_string_literal: true -module Aws - module Rails - module ActionMailbox - # @api private - class Engine < ::Rails::Engine - if defined?(ActionMailbox::Engine) +if defined?(ActionMailbox::Engine) + module Aws + module Rails + module ActionMailbox + # @api private + class Engine < ::Rails::Engine config.action_mailbox.ses = ActiveSupport::OrderedOptions.new config.action_mailbox.ses.s3_client_options ||= {} From 009644fd4f2fc965092901b2ab320efe9cba5f83 Mon Sep 17 00:00:00 2001 From: Matt Muller Date: Mon, 22 Jul 2024 17:22:09 -0400 Subject: [PATCH 5/5] Add changelog --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 58f97af..7d57c3e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,8 @@ Unreleased Changes ------------------ +* Issue - Do not require `action_mailbox/engine` in `Aws::Rails::ActionMailbox::Engine` and instead check for its existence. + * Issue - Refactor the loading of the SQS ActiveJob adapter to be in `aws/rails/sqs_active_job`. 4.0.1 (2024-07-18)