Skip Active Storage and Action Mailer if Active Job is skipped
If you use either of these frameworks, Active Job is used. That means that only skipping Active Job will not really skip it, and whenever app:update runs, Active Job will be added back.
This commit is contained in:
parent
0adc2347d9
commit
9578865329
@ -1,3 +1,7 @@
|
||||
* Skip Active Storage and Action Mailer if Active Job is skipped.
|
||||
|
||||
*Étienne Barrié*
|
||||
|
||||
* Correctly check if frameworks are disabled when running app:update.
|
||||
|
||||
*Étienne Barrié* and *Paulo Barros*
|
||||
|
@ -23,7 +23,7 @@ def generator_options
|
||||
options = { api: !!Rails.application.config.api_only, update: true }
|
||||
options[:skip_active_job] = !defined?(ActiveJob::Railtie)
|
||||
options[:skip_active_record] = !defined?(ActiveRecord::Railtie)
|
||||
options[:skip_active_storage] = !defined?(ActiveStorage::Engine) || !defined?(ActiveRecord::Railtie)
|
||||
options[:skip_active_storage] = !defined?(ActiveStorage::Engine)
|
||||
options[:skip_action_mailer] = !defined?(ActionMailer::Railtie)
|
||||
options[:skip_action_mailbox] = !defined?(ActionMailbox::Engine)
|
||||
options[:skip_action_text] = !defined?(ActionText::Engine)
|
||||
|
@ -190,12 +190,12 @@ def include_all_railties? # :doc:
|
||||
[
|
||||
options.values_at(
|
||||
:skip_active_record,
|
||||
:skip_action_mailer,
|
||||
:skip_test,
|
||||
:skip_action_cable,
|
||||
:skip_active_job
|
||||
),
|
||||
skip_active_storage?,
|
||||
skip_action_mailer?,
|
||||
skip_action_mailbox?,
|
||||
skip_action_text?
|
||||
].flatten.none?
|
||||
@ -223,7 +223,11 @@ def sqlite3? # :doc:
|
||||
end
|
||||
|
||||
def skip_active_storage? # :doc:
|
||||
options[:skip_active_storage] || options[:skip_active_record]
|
||||
options[:skip_active_storage] || options[:skip_active_record] || options[:skip_active_job]
|
||||
end
|
||||
|
||||
def skip_action_mailer? # :doc:
|
||||
options[:skip_action_mailer] || options[:skip_active_job]
|
||||
end
|
||||
|
||||
def skip_action_mailbox? # :doc:
|
||||
|
@ -292,12 +292,12 @@ def test_app_update_does_not_generate_bootsnap_contents_when_skip_bootsnap_is_gi
|
||||
|
||||
def test_app_update_preserves_skip_active_job
|
||||
app_root = File.join(destination_root, "myapp")
|
||||
run_generator [ app_root, "--skip-active-job", "--skip-active-storage", "--skip-action-mailer" ]
|
||||
run_generator [ app_root, "--skip-active-job" ]
|
||||
|
||||
FileUtils.cd(app_root) do
|
||||
config = "config/application.rb"
|
||||
assert_no_changes -> { File.readlines(config).grep(/require /) } do
|
||||
system("yes | TEST=hi bin/rails app:update")
|
||||
quietly { system("yes | bin/rails app:update") }
|
||||
end
|
||||
end
|
||||
end
|
||||
@ -599,6 +599,8 @@ def test_generator_if_skip_active_job_is_given
|
||||
end
|
||||
assert_file "config/application.rb" do |content|
|
||||
assert_match(/#\s+require\s+["']active_job\/railtie["']/, content)
|
||||
assert_match(/#\s+require\s+["']active_storage\/engine["']/, content)
|
||||
assert_match(/#\s+require\s+["']action_mailer\/railtie["']/, content)
|
||||
end
|
||||
end
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user