Skip to content

Commit e08e4b7

Browse files
authored
Merge pull request rails#52403 from y-yagi/app_update_public_api
Don't update public directory during `app:update` command for API-only Applications
2 parents 753cb01 + 6add499 commit e08e4b7

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
@@ -223,6 +223,8 @@ def log
223223
end
224224

225225
def public_directory
226+
return if options[:update] && options[:api]
227+
226228
directory "public", "public", recursive: false
227229
end
228230

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
@@ -1511,16 +1511,6 @@ def assert_no_node_files
15111511
end
15121512
end
15131513

1514-
def run_app_update(app_root = destination_root, flags: "--force")
1515-
Dir.chdir(app_root) do
1516-
gemfile_contents = File.read("Gemfile")
1517-
gemfile_contents.sub!(/^(gem "rails").*/, "\\1, path: #{File.expand_path("../../..", __dir__).inspect}")
1518-
File.write("Gemfile", gemfile_contents)
1519-
1520-
quietly { system({ "BUNDLE_GEMFILE" => "Gemfile" }, "bin/rails app:update #{flags}", exception: true) }
1521-
end
1522-
end
1523-
15241514
def action(*args, &block)
15251515
capture(:stdout) { generator.send(*args, &block) }
15261516
end

railties/test/generators/generators_test_helper.rb

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,16 @@ def assert_devcontainer_json_file
131131
end
132132
end
133133

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

0 commit comments

Comments
 (0)