diff options
author | David Heinemeier Hansson <david@loudthinking.com> | 2018-12-13 16:34:02 -0800 |
---|---|---|
committer | David Heinemeier Hansson <david@loudthinking.com> | 2018-12-13 16:34:02 -0800 |
commit | 2c17861470d9d7e63ac60f6782074c9a9491eb4b (patch) | |
tree | d2faabfa300e35625fedbfa1a9025b1a637760db | |
parent | 2746449085135e6c345b393b0603eea4a7b1a1b4 (diff) | |
download | rails-2c17861470d9d7e63ac60f6782074c9a9491eb4b.tar.gz rails-2c17861470d9d7e63ac60f6782074c9a9491eb4b.tar.bz2 rails-2c17861470d9d7e63ac60f6782074c9a9491eb4b.zip |
Add installer
-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 |