Skip to content

Commit

Permalink
Merge pull request #51837 from jeromedalbert/no-storage-if-not-needed-1
Browse files Browse the repository at this point in the history
Don’t create storage folder if not needed
  • Loading branch information
yahonda authored and rafaelfranca committed May 21, 2024
1 parent cb97722 commit ebfb2aa
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 2 deletions.
6 changes: 5 additions & 1 deletion railties/lib/rails/generators/app_base.rb
Original file line number Diff line number Diff line change
Expand Up @@ -363,6 +363,10 @@ def skip_active_storage? # :doc:
options[:skip_active_storage]
end

def skip_storage? # :doc:
skip_active_storage? && !sqlite3?
end

def skip_action_cable? # :doc:
options[:skip_action_cable]
end
Expand Down Expand Up @@ -766,7 +770,7 @@ def edge_branch
def dockerfile_chown_directories
directories = %w(log tmp)

directories << "storage" unless skip_active_storage? && !sqlite3?
directories << "storage" unless skip_storage?
directories << "db" unless skip_active_record?

directories.sort
Expand Down
2 changes: 1 addition & 1 deletion railties/lib/rails/generators/rails/app/app_generator.rb
Original file line number Diff line number Diff line change
Expand Up @@ -455,7 +455,7 @@ def create_system_test_files
end

def create_storage_files
build(:storage)
build(:storage) unless skip_storage?
end

def create_devcontainer_files
Expand Down
7 changes: 7 additions & 0 deletions railties/test/generators/shared_generator_tests.rb
Original file line number Diff line number Diff line change
Expand Up @@ -312,6 +312,13 @@ def test_generator_does_not_generate_active_storage_contents_if_skip_active_reco
assert_no_file "#{application_path}/config/storage.yml"
end

def test_generator_does_not_create_storage_dir_if_skip_active_storage_is_given_and_not_using_sqlite
run_generator [destination_root, "--skip-active-storage", "--database=postgresql"]

assert_no_directory "#{application_path}/storage"
assert_no_directory "#{application_path}/tmp/storage"
end

def test_generator_if_skip_action_mailer_is_given
run_generator [destination_root, "--skip-action-mailer"]
assert_file "#{application_path}/config/application.rb", /#\s+require\s+["']action_mailer\/railtie["']/
Expand Down

0 comments on commit ebfb2aa

Please sign in to comment.