Skip to content

Commit 6add499

Browse files
committed
Don't update public directory during app:update command for API-only Applications
We remove files under the public directory for API-only Applications. https://github.com/rails/rails/blob/a17aa6376d7974e38af90a2fe28e548b201baa63/railties/lib/rails/generators/rails/app/app_generator.rb#L500-L509 We should keep the behavior in `app:update` command too. Follow up of rails#51952.
1 parent a17aa63 commit 6add499

File tree

4 files changed

+19
-10
lines changed

4 files changed

+19
-10
lines changed

railties/lib/rails/generators/rails/app/app_generator.rb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -224,6 +224,8 @@ def log
224224
end
225225

226226
def public_directory
227+
return if options[:update] && options[:api]
228+
227229
directory "public", "public", recursive: false
228230
end
229231

railties/test/generators/api_app_generator_test.rb

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,13 @@ def test_app_update_does_not_generate_unnecessary_bin_files
125125
pass
126126
end
127127

128+
def test_app_update_does_not_generate_public_files
129+
run_generator
130+
run_app_update
131+
132+
assert_no_file "public/406-unsupported-browser.html"
133+
end
134+
128135
private
129136
def default_files
130137
%w(.gitignore

railties/test/generators/app_generator_test.rb

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1476,16 +1476,6 @@ def assert_no_node_files
14761476
end
14771477
end
14781478

1479-
def run_app_update(app_root = destination_root, flags: "--force")
1480-
Dir.chdir(app_root) do
1481-
gemfile_contents = File.read("Gemfile")
1482-
gemfile_contents.sub!(/^(gem "rails").*/, "\\1, path: #{File.expand_path("../../..", __dir__).inspect}")
1483-
File.write("Gemfile", gemfile_contents)
1484-
1485-
quietly { system({ "BUNDLE_GEMFILE" => "Gemfile" }, "bin/rails app:update #{flags}", exception: true) }
1486-
end
1487-
end
1488-
14891479
def action(*args, &block)
14901480
capture(:stdout) { generator.send(*args, &block) }
14911481
end

railties/test/generators/generators_test_helper.rb

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,16 @@ def assert_devcontainer_json_file
128128
end
129129
end
130130

131+
def run_app_update(app_root = destination_root, flags: "--force")
132+
Dir.chdir(app_root) do
133+
gemfile_contents = File.read("Gemfile")
134+
gemfile_contents.sub!(/^(gem "rails").*/, "\\1, path: #{File.expand_path("../../..", __dir__).inspect}")
135+
File.write("Gemfile", gemfile_contents)
136+
137+
quietly { system({ "BUNDLE_GEMFILE" => "Gemfile" }, "bin/rails app:update #{flags}", exception: true) }
138+
end
139+
end
140+
131141
private
132142
def gemfile_locals
133143
{

0 commit comments

Comments
 (0)