diff options
-rw-r--r-- | lib/tasks/install.rake | 19 | ||||
-rw-r--r-- | lib/templates/installer.rb | 4 | ||||
-rw-r--r-- | lib/templates/mailboxes/application_mailbox.rb | 3 |
3 files changed, 17 insertions, 9 deletions
diff --git a/lib/tasks/install.rake b/lib/tasks/install.rake index d5abf60042..cfc06fbb5f 100644 --- a/lib/tasks/install.rake +++ b/lib/tasks/install.rake @@ -5,15 +5,16 @@ namespace :action_mailbox do Rake::Task["install:migrations"].clear_comments desc "Copy over the migration" - task install: %w[ environment install:copy_migration active_storage:install ] + task install: %w[ environment run_installer copy_migrations ] - namespace :install do - task :copy_migration do - if Rake::Task.task_defined?("action_mailbox:install:migrations") - Rake::Task["action_mailbox:install:migrations"].invoke - else - Rake::Task["app:action_mailbox:install:migrations"].invoke - end - end + task :run_installer do + installer_template = File.expand_path("../templates/installer.rb", __dir__) + system "#{RbConfig.ruby} ./bin/rails app:template LOCATION=#{installer_template}" + end + + task :copy_migrations do + Rake::Task["active_storage:install:migrations"].invoke + Rake::Task["railties:install:migrations"].reenable # Otherwise you can't run 2 migration copy tasks in one invocation + Rake::Task["action_mailbox:install:migrations"].invoke end end diff --git a/lib/templates/installer.rb b/lib/templates/installer.rb new file mode 100644 index 0000000000..d739408d58 --- /dev/null +++ b/lib/templates/installer.rb @@ -0,0 +1,4 @@ +say "Copying application_mailbox.rb to app/mailboxes" +copy_file "#{__dir__}/mailboxes/application_mailbox.rb", "app/mailboxes/application_mailbox.rb" + +environment "# Prepare the ingress controller used to receive mail\nconfig.action_mailbox.ingress = :amazon\n\n", env: 'production' diff --git a/lib/templates/mailboxes/application_mailbox.rb b/lib/templates/mailboxes/application_mailbox.rb new file mode 100644 index 0000000000..9386f9eb91 --- /dev/null +++ b/lib/templates/mailboxes/application_mailbox.rb @@ -0,0 +1,3 @@ +class ApplicationMailbox < ActionMailbox::Base + # route /something/i => :somewhere +end |