Skip to content

Commit

Permalink
Merge pull request rails#34816 from bogdanvlviv/add-skip-action-mailb…
Browse files Browse the repository at this point in the history
…ox-option-to-rails-new-cmd

Add `--skip-action-mailbox` option to `rails new`
  • Loading branch information
rafaelfranca committed Jan 3, 2019
2 parents cc3cc6b + a756706 commit c6ef670
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 1 deletion.
5 changes: 4 additions & 1 deletion railties/lib/rails/generators/app_base.rb
Expand Up @@ -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"

Expand Down Expand Up @@ -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)
Expand Down
5 changes: 5 additions & 0 deletions railties/test/generators/app_generator_test.rb
Expand Up @@ -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["']/
Expand Down
4 changes: 4 additions & 0 deletions railties/test/generators/shared_generator_tests.rb
Expand Up @@ -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"
]
Expand All @@ -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["']/
Expand Down

0 comments on commit c6ef670

Please sign in to comment.