mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Merge pull request #37988 from abhaynikam/37823-change-action-mailbox-installer-to-generator
Add ActionMailbox install generator
This commit is contained in:
commit
420d533021
4 changed files with 33 additions and 28 deletions
|
@ -0,0 +1,28 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
require "rails/generators/mailbox/mailbox_generator"
|
||||
|
||||
module ActionMailbox
|
||||
module Generators
|
||||
class InstallGenerator < ::Rails::Generators::Base
|
||||
source_root Rails::Generators::MailboxGenerator.source_root
|
||||
|
||||
def create_action_mailbox_files
|
||||
say "Copying application_mailbox.rb to app/mailboxes", :green
|
||||
template "application_mailbox.rb", "app/mailboxes/application_mailbox.rb"
|
||||
end
|
||||
|
||||
def add_action_mailbox_production_environment_config
|
||||
environment <<~end_of_config, env: "production"
|
||||
# Prepare the ingress controller used to receive mail
|
||||
# config.action_mailbox.ingress = :relay
|
||||
|
||||
end_of_config
|
||||
end
|
||||
|
||||
def create_migrations
|
||||
rails_command "railties:install:migrations FROM=active_storage,action_mailbox"
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
|
@ -1,10 +0,0 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
say "Copying application_mailbox.rb to app/mailboxes"
|
||||
copy_file "#{__dir__}/mailbox/templates/application_mailbox.rb", "app/mailboxes/application_mailbox.rb"
|
||||
|
||||
environment <<~end_of_config, env: "production"
|
||||
# Prepare the ingress controller used to receive mail
|
||||
# config.action_mailbox.ingress = :relay
|
||||
|
||||
end_of_config
|
|
@ -1,20 +1,6 @@
|
|||
# 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
|
||||
desc "Installs Action Mailbox and its dependencies"
|
||||
task "action_mailbox:install" do
|
||||
Rails::Command.invoke :generate, ["action_mailbox:install"]
|
||||
end
|
||||
|
|
|
@ -161,7 +161,8 @@ module Rails
|
|||
"#{css}:assets",
|
||||
"css:assets",
|
||||
"css:scaffold",
|
||||
"action_text:install"
|
||||
"action_text:install",
|
||||
"action_mailbox:install"
|
||||
]
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue