diff options
author | George Claghorn <george.claghorn@gmail.com> | 2018-12-26 11:02:59 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-12-26 11:02:59 -0500 |
commit | 9b35b9ff417e8ec9888deac1e66c2855677164cd (patch) | |
tree | 82dc9a20a23b855f91f743c5029ec7a97a35b824 /actionmailbox/lib/tasks | |
parent | b5ed468492387d42a44ca6af525d4a274cda756d (diff) | |
parent | a5b2fff64ca0c1fa7be5124f40a251d991c10a85 (diff) | |
download | rails-9b35b9ff417e8ec9888deac1e66c2855677164cd.tar.gz rails-9b35b9ff417e8ec9888deac1e66c2855677164cd.tar.bz2 rails-9b35b9ff417e8ec9888deac1e66c2855677164cd.zip |
Merge pull request #34786 from georgeclaghorn/actionmailbox
Import Action Mailbox
Diffstat (limited to 'actionmailbox/lib/tasks')
-rw-r--r-- | actionmailbox/lib/tasks/ingress.rake | 24 | ||||
-rw-r--r-- | actionmailbox/lib/tasks/install.rake | 20 |
2 files changed, 44 insertions, 0 deletions
diff --git a/actionmailbox/lib/tasks/ingress.rake b/actionmailbox/lib/tasks/ingress.rake new file mode 100644 index 0000000000..f775bbdfd7 --- /dev/null +++ b/actionmailbox/lib/tasks/ingress.rake @@ -0,0 +1,24 @@ +# frozen_string_literal: true + +namespace :action_mailbox do + namespace :ingress do + desc "Pipe an inbound email from STDIN to the Postfix ingress (URL and INGRESS_PASSWORD required)" + task :postfix do + require "active_support" + require "active_support/core_ext/object/blank" + require "action_mailbox/postfix_relayer" + + url, password = ENV.values_at("URL", "INGRESS_PASSWORD") + + if url.blank? || password.blank? + print "4.3.5 URL and INGRESS_PASSWORD are required" + exit 1 + end + + ActionMailbox::PostfixRelayer.new(url: url, password: password).relay(STDIN.read).tap do |result| + print result.output + exit result.success? + end + end + end +end diff --git a/actionmailbox/lib/tasks/install.rake b/actionmailbox/lib/tasks/install.rake new file mode 100644 index 0000000000..0885e2d6a5 --- /dev/null +++ b/actionmailbox/lib/tasks/install.rake @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +namespace :action_mailbox do + # Prevent migration installation task from showing up twice. + Rake::Task["install:migrations"].clear_comments + + desc "Copy over the migration" + task install: %w[ environment run_installer copy_migrations ] + + task :run_installer do + installer_template = File.expand_path("../rails/generators/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 |