Merge pull request #34816 from bogdanvlviv/add-skip-action-mailbox-option-to-rails-new-cmd

Add `--skip-action-mailbox` option to `rails new`
This commit is contained in:
Rafael Mendonça França 2019-01-03 16:36:17 -05:00
commit c6ef670aee
No known key found for this signature in database
GPG Key ID: FC23B6D0F1EEE948
3 changed files with 13 additions and 1 deletions

@ -44,6 +44,9 @@ def self.add_shared_options_for(name)
default: false,
desc: "Skip Action Mailer files"
class_option :skip_action_mailbox, type: :boolean, default: false,
desc: "Skip Action Mailbox gem"
class_option :skip_active_record, type: :boolean, aliases: "-O", default: false,
desc: "Skip Active Record files"
@ -231,7 +234,7 @@ def skip_active_storage? # :doc:
end
def skip_action_mailbox? # :doc:
skip_active_storage?
options[:skip_action_mailbox] || skip_active_storage?
end
class GemfileEntry < Struct.new(:name, :version, :comment, :options, :commented_out)

@ -435,6 +435,11 @@ def test_app_update_does_not_generate_active_storage_contents_when_skip_active_r
assert_no_file "#{app_root}/config/storage.yml"
end
def test_generator_skips_action_mailbox_when_skip_action_mailbox_is_given
run_generator [destination_root, "--skip-action-mailbox"]
assert_file "#{application_path}/config/application.rb", /#\s+require\s+["']action_mailbox\/engine["']/
end
def test_generator_skips_action_mailbox_when_skip_active_record_is_given
run_generator [destination_root, "--skip-active-record"]
assert_file "#{application_path}/config/application.rb", /#\s+require\s+["']action_mailbox\/engine["']/

@ -127,6 +127,7 @@ def test_default_frameworks_are_required_when_others_are_removed
"--skip-active-record",
"--skip-active-storage",
"--skip-action-mailer",
"--skip-action-mailbox",
"--skip-action-cable",
"--skip-sprockets"
]
@ -138,6 +139,9 @@ def test_default_frameworks_are_required_when_others_are_removed
assert_file "#{application_path}/config/application.rb", /^# require\s+["']active_storage\/engine["']/
assert_file "#{application_path}/config/application.rb", /^require\s+["']action_controller\/railtie["']/
assert_file "#{application_path}/config/application.rb", /^# require\s+["']action_mailer\/railtie["']/
unless generator_class.name == "Rails::Generators::PluginGenerator"
assert_file "#{application_path}/config/application.rb", /^# require\s+["']action_mailbox\/engine["']/
end
assert_file "#{application_path}/config/application.rb", /^require\s+["']action_view\/railtie["']/
assert_file "#{application_path}/config/application.rb", /^# require\s+["']action_cable\/engine["']/
assert_file "#{application_path}/config/application.rb", /^# require\s+["']sprockets\/railtie["']/