railties 7.2.2.2 → 8.0.0.beta1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +111 -312
  3. data/lib/minitest/rails_plugin.rb +1 -1
  4. data/lib/rails/application/configuration.rb +15 -2
  5. data/lib/rails/application/default_middleware_stack.rb +4 -0
  6. data/lib/rails/application/finisher.rb +2 -2
  7. data/lib/rails/application/routes_reloader.rb +11 -1
  8. data/lib/rails/application.rb +5 -0
  9. data/lib/rails/code_statistics.rb +128 -86
  10. data/lib/rails/code_statistics_calculator.rb +78 -76
  11. data/lib/rails/command/helpers/editor.rb +1 -1
  12. data/lib/rails/commands/app/update_command.rb +1 -9
  13. data/lib/rails/commands/console/irb_console.rb +2 -12
  14. data/lib/rails/commands/credentials/USAGE +4 -4
  15. data/lib/rails/commands/credentials/credentials_command.rb +5 -1
  16. data/lib/rails/commands/dev/dev_command.rb +1 -1
  17. data/lib/rails/commands/devcontainer/devcontainer_command.rb +1 -1
  18. data/lib/rails/commands/stats/stats_command.rb +19 -0
  19. data/lib/rails/dev_caching.rb +2 -2
  20. data/lib/rails/engine/configuration.rb +3 -1
  21. data/lib/rails/engine/lazy_route_set.rb +109 -0
  22. data/lib/rails/engine.rb +8 -3
  23. data/lib/rails/gem_version.rb +4 -4
  24. data/lib/rails/generators/app_base.rb +46 -24
  25. data/lib/rails/generators/database.rb +101 -67
  26. data/lib/rails/generators/erb/authentication/authentication_generator.rb +15 -0
  27. data/lib/rails/generators/erb/authentication/templates/views/passwords/edit.html.erb +9 -0
  28. data/lib/rails/generators/erb/authentication/templates/views/passwords/new.html.erb +8 -0
  29. data/lib/rails/generators/erb/authentication/templates/views/sessions/new.html.erb +11 -0
  30. data/lib/rails/generators/generated_attribute.rb +16 -11
  31. data/lib/rails/generators/rails/app/app_generator.rb +19 -28
  32. data/lib/rails/generators/rails/app/templates/Dockerfile.tt +12 -3
  33. data/lib/rails/generators/rails/app/templates/Gemfile.tt +23 -8
  34. data/lib/rails/generators/rails/app/templates/app/assets/stylesheets/application.css.tt +6 -11
  35. data/lib/rails/generators/rails/app/templates/app/views/layouts/application.html.erb.tt +10 -3
  36. data/lib/rails/generators/rails/app/templates/bin/dev.tt +1 -0
  37. data/lib/rails/generators/rails/app/templates/bin/setup.tt +5 -7
  38. data/lib/rails/generators/rails/app/templates/bin/thrust.tt +4 -0
  39. data/lib/rails/generators/rails/app/templates/config/databases/mysql.yml.tt +23 -0
  40. data/lib/rails/generators/rails/app/templates/config/databases/postgresql.yml.tt +23 -0
  41. data/lib/rails/generators/rails/app/templates/config/databases/sqlite3.yml.tt +40 -0
  42. data/lib/rails/generators/rails/app/templates/config/databases/trilogy.yml.tt +23 -0
  43. data/lib/rails/generators/rails/app/templates/config/deploy.yml.tt +124 -0
  44. data/lib/rails/generators/rails/app/templates/config/environments/development.rb.tt +12 -23
  45. data/lib/rails/generators/rails/app/templates/config/environments/production.rb.tt +31 -51
  46. data/lib/rails/generators/rails/app/templates/config/environments/test.rb.tt +5 -19
  47. data/lib/rails/generators/rails/app/templates/config/initializers/assets.rb.tt +0 -7
  48. data/lib/rails/generators/rails/app/templates/config/initializers/filter_parameter_logging.rb.tt +1 -1
  49. data/lib/rails/generators/rails/app/templates/config/initializers/new_framework_defaults_8_0.rb.tt +25 -0
  50. data/lib/rails/generators/rails/app/templates/config/puma.rb.tt +11 -2
  51. data/lib/rails/generators/rails/app/templates/config/routes.rb.tt +3 -3
  52. data/lib/rails/generators/rails/app/templates/docker-entrypoint.tt +4 -3
  53. data/lib/rails/generators/rails/app/templates/dockerignore.tt +1 -2
  54. data/lib/rails/generators/rails/app/templates/gitignore.tt +1 -2
  55. data/lib/rails/generators/rails/app/templates/kamal-secrets.tt +17 -0
  56. data/lib/rails/generators/rails/app/templates/public/400.html +114 -0
  57. data/lib/rails/generators/rails/app/templates/public/404.html +113 -66
  58. data/lib/rails/generators/rails/app/templates/public/406-unsupported-browser.html +113 -65
  59. data/lib/rails/generators/rails/app/templates/public/422.html +113 -66
  60. data/lib/rails/generators/rails/app/templates/public/500.html +113 -65
  61. data/lib/rails/generators/rails/app/templates/public/icon.png +0 -0
  62. data/lib/rails/generators/rails/app/templates/public/icon.svg +2 -2
  63. data/lib/rails/generators/rails/authentication/USAGE +6 -0
  64. data/lib/rails/generators/rails/authentication/authentication_generator.rb +54 -0
  65. data/lib/rails/generators/rails/authentication/templates/controllers/concerns/authentication.rb +55 -0
  66. data/lib/rails/generators/rails/authentication/templates/controllers/passwords_controller.rb +33 -0
  67. data/lib/rails/generators/rails/authentication/templates/controllers/sessions_controller.rb +21 -0
  68. data/lib/rails/generators/rails/authentication/templates/mailers/passwords_mailer.rb +6 -0
  69. data/lib/rails/generators/rails/authentication/templates/models/current.rb +4 -0
  70. data/lib/rails/generators/rails/authentication/templates/models/session.rb +3 -0
  71. data/lib/rails/generators/rails/authentication/templates/models/user.rb +6 -0
  72. data/lib/rails/generators/rails/authentication/templates/test/mailers/previews/passwords_mailer_preview.rb +7 -0
  73. data/lib/rails/generators/rails/authentication/templates/views/passwords_mailer/reset.html.erb +4 -0
  74. data/lib/rails/generators/rails/authentication/templates/views/passwords_mailer/reset.text.erb +2 -0
  75. data/lib/rails/generators/rails/credentials/templates/credentials.yml.tt +4 -0
  76. data/lib/rails/generators/rails/db/system/change/change_generator.rb +1 -1
  77. data/lib/rails/generators/rails/devcontainer/devcontainer_generator.rb +4 -2
  78. data/lib/rails/generators/rails/devcontainer/templates/devcontainer/devcontainer.json.tt +1 -1
  79. data/lib/rails/generators/rails/plugin/plugin_generator.rb +7 -9
  80. data/lib/rails/generators/rails/scaffold_controller/templates/api_controller.rb.tt +2 -2
  81. data/lib/rails/generators/rails/scaffold_controller/templates/controller.rb.tt +3 -3
  82. data/lib/rails/generators/rails/script/USAGE +18 -0
  83. data/lib/rails/generators/rails/script/script_generator.rb +18 -0
  84. data/lib/rails/generators/rails/script/templates/script.rb.tt +3 -0
  85. data/lib/rails/generators.rb +1 -0
  86. data/lib/rails/info_controller.rb +10 -4
  87. data/lib/rails/rack/silence_request.rb +33 -0
  88. data/lib/rails/rack.rb +1 -0
  89. data/lib/rails/source_annotation_extractor.rb +31 -14
  90. data/lib/rails/tasks/statistics.rake +13 -28
  91. data/lib/rails/templates/rails/info/notes.html.erb +65 -0
  92. metadata +45 -22
  93. data/lib/rails/generators/rails/app/templates/app/assets/config/manifest.js.tt +0 -2
  94. data/lib/rails/generators/rails/app/templates/app/channels/application_cable/channel.rb.tt +0 -4
  95. data/lib/rails/generators/rails/app/templates/app/channels/application_cable/connection.rb.tt +0 -4
  96. data/lib/rails/generators/rails/app/templates/config/initializers/new_framework_defaults_7_2.rb.tt +0 -70
  97. data/lib/rails/generators/rails/app/templates/config/initializers/permissions_policy.rb.tt +0 -13
  98. data/lib/rails/generators/rails/app/templates/test/channels/application_cable/connection_test.rb.tt +0 -13
  99. data/lib/rails/generators/rails/plugin/templates/rails/dummy_manifest.js.tt +0 -10
  100. data/lib/rails/generators/rails/plugin/templates/rails/engine_manifest.js.tt +0 -6
  101. data/lib/rails/generators/rails/plugin/templates/rails/javascripts.js.tt +0 -17
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+
3
+ # :markup: markdown
4
+
5
+ require "active_support/logger_silence"
6
+
7
+ module Rails
8
+ module Rack
9
+ # Allows you to silence requests made to a specific path.
10
+ # This is useful for preventing recurring requests like health checks from clogging the logging.
11
+ # This middleware is used to do just that against the path /up in production by default.
12
+ #
13
+ # Example:
14
+ #
15
+ # config.middleware.insert_before \
16
+ # Rails::Rack::Logger, Rails::Rack::SilenceRequest, path: "/up"
17
+ #
18
+ # This middleware can also be configured using `config.silence_healthcheck_path = "/up"` in Rails.
19
+ class SilenceRequest
20
+ def initialize(app, path:)
21
+ @app, @path = app, path
22
+ end
23
+
24
+ def call(env)
25
+ if env["PATH_INFO"] == @path
26
+ Rails.logger.silence { @app.call(env) }
27
+ else
28
+ @app.call(env)
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
data/lib/rails/rack.rb CHANGED
@@ -3,5 +3,6 @@
3
3
  module Rails
4
4
  module Rack
5
5
  autoload :Logger, "rails/rack/logger"
6
+ autoload :SilenceRequest, "rails/rack/silence_request"
6
7
  end
7
8
  end
@@ -1,6 +1,12 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "ripper"
3
+ begin
4
+ require "prism"
5
+ rescue LoadError
6
+ # If Prism isn't available (because of using an older Ruby version) then we'll
7
+ # define a fallback for the ParserExtractor using ripper.
8
+ require "ripper"
9
+ end
4
10
 
5
11
  module Rails
6
12
  # Implements the logic behind +Rails::Command::NotesCommand+. See <tt>rails notes --help</tt> for usage information.
@@ -16,24 +22,35 @@ module Rails
16
22
  # Wraps a regular expression that will be tested against each of the source
17
23
  # file's comments.
18
24
  class ParserExtractor < Struct.new(:pattern)
19
- class Parser < Ripper
20
- attr_reader :comments, :pattern
25
+ if defined?(Prism)
26
+ def annotations(file)
27
+ result = Prism.parse_file(file)
28
+ return [] unless result.success?
21
29
 
22
- def initialize(source, pattern:)
23
- super(source)
24
- @pattern = pattern
25
- @comments = []
30
+ result.comments.filter_map do |comment|
31
+ Annotation.new(comment.location.start_line, $1, $2) if comment.location.slice =~ pattern
32
+ end
26
33
  end
34
+ else
35
+ class Parser < Ripper
36
+ attr_reader :comments, :pattern
37
+
38
+ def initialize(source, pattern:)
39
+ super(source)
40
+ @pattern = pattern
41
+ @comments = []
42
+ end
27
43
 
28
- def on_comment(value)
29
- @comments << Annotation.new(lineno, $1, $2) if value =~ pattern
44
+ def on_comment(value)
45
+ @comments << Annotation.new(lineno, $1, $2) if value =~ pattern
46
+ end
30
47
  end
31
- end
32
48
 
33
- def annotations(file)
34
- contents = File.read(file, encoding: Encoding::BINARY)
35
- parser = Parser.new(contents, pattern: pattern).tap(&:parse)
36
- parser.error? ? [] : parser.comments
49
+ def annotations(file)
50
+ contents = File.read(file, encoding: Encoding::BINARY)
51
+ parser = Parser.new(contents, pattern: pattern).tap(&:parse)
52
+ parser.error? ? [] : parser.comments
53
+ end
37
54
  end
38
55
  end
39
56
 
@@ -1,32 +1,11 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # While global constants are bad, many 3rd party tools depend on this one (e.g
4
- # rspec-rails & cucumber-rails). So a deprecation warning is needed if we want
5
- # to remove it.
6
- STATS_DIRECTORIES ||= [
7
- %w(Controllers app/controllers),
8
- %w(Helpers app/helpers),
9
- %w(Jobs app/jobs),
10
- %w(Models app/models),
11
- %w(Mailers app/mailers),
12
- %w(Mailboxes app/mailboxes),
13
- %w(Channels app/channels),
14
- %w(Views app/views),
15
- %w(JavaScripts app/assets/javascripts),
16
- %w(Stylesheets app/assets/stylesheets),
17
- %w(JavaScript app/javascript),
18
- %w(Libraries lib/),
19
- %w(APIs app/apis),
20
- %w(Controller\ tests test/controllers),
21
- %w(Helper\ tests test/helpers),
22
- %w(Job\ tests test/jobs),
23
- %w(Model\ tests test/models),
24
- %w(Mailer\ tests test/mailers),
25
- %w(Mailbox\ tests test/mailboxes),
26
- %w(Channel\ tests test/channels),
27
- %w(Integration\ tests test/integration),
28
- %w(System\ tests test/system),
29
- ]
3
+ require "rails/code_statistics"
4
+ STATS_DIRECTORIES = ActiveSupport::Deprecation::DeprecatedObjectProxy.new(
5
+ Rails::CodeStatistics::DIRECTORIES,
6
+ "`STATS_DIRECTORIES` is deprecated and will be removed in Rails 8.1! Use `Rails::CodeStatistics.register_directory('My Directory', 'path/to/dir)` instead.",
7
+ Rails.deprecator
8
+ )
30
9
 
31
10
  desc "Report code statistics (KLOCs, etc) from the application or engine"
32
11
  task :stats do
@@ -34,5 +13,11 @@ task :stats do
34
13
  stat_directories = STATS_DIRECTORIES.collect do |name, dir|
35
14
  [ name, "#{File.dirname(Rake.application.rakefile_location)}/#{dir}" ]
36
15
  end.select { |name, dir| File.directory?(dir) }
37
- CodeStatistics.new(*stat_directories).to_s
16
+
17
+ $stderr.puts Rails.deprecator.warn(<<~MSG, caller_locations(0..1))
18
+ `bin/rake stats` has been deprecated and will be removed in Rails 8.1.
19
+ Please use `bin/rails stats` as Rails command instead.\n
20
+ MSG
21
+
22
+ Rails::CodeStatistics.new(*stat_directories).to_s
38
23
  end
@@ -0,0 +1,65 @@
1
+ <style>
2
+ h2, p {
3
+ padding-left: 30px;
4
+ }
5
+ table {
6
+ margin: 0;
7
+ border-collapse: collapse;
8
+ word-wrap:break-word;
9
+ table-layout: fixed;
10
+ width:100%;
11
+ }
12
+ table thead tr {
13
+ border-bottom: 2px solid #ddd;
14
+ }
15
+ table th {
16
+ padding-left: 30px;
17
+ text-align: left;
18
+ }
19
+ table thead th.tag, table thead th.line-no {
20
+ width: 10%;
21
+ }
22
+ table tbody tr {
23
+ border-bottom: 1px solid #ddd;
24
+ }
25
+ table tbody tr:nth-child(odd) {
26
+ background: #f2f2f2;
27
+ }
28
+ table td {
29
+ padding: 4px 30px;
30
+ }
31
+ @media (prefers-color-scheme: dark) {
32
+ table tbody tr:nth-child(odd) {
33
+ background: #282828;
34
+ }
35
+ }
36
+ </style>
37
+
38
+ <h2>
39
+ Notes
40
+ </h2>
41
+
42
+ <table id="route_table" class="table">
43
+ <thead>
44
+ <th>File Name</th>
45
+ <th class="line-no">Line No.</th>
46
+ <th class="tag">Tag</th>
47
+ <th>Description</th>
48
+ </thead>
49
+ <tbody>
50
+ <% @annotations.each do |file, annotations| %>
51
+ <% annotations.each.with_index do |annotation, index| %>
52
+ <tr>
53
+ <% if index == 0 %>
54
+ <th rowspan="<%= annotations.size %>">
55
+ <%= file %>
56
+ </th>
57
+ <% end %>
58
+ <td class="line-no"><%= annotation.line %></td>
59
+ <td class="tag"><%= annotation.tag %></td>
60
+ <td><%= annotation.text %></td>
61
+ </tr>
62
+ <% end %>
63
+ <% end %>
64
+ </tbody>
65
+ </table>
metadata CHANGED
@@ -1,13 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: railties
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.2.2.2
4
+ version: 8.0.0.beta1
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Heinemeier Hansson
8
+ autorequire:
8
9
  bindir: exe
9
10
  cert_chain: []
10
- date: 1980-01-02 00:00:00.000000000 Z
11
+ date: 2024-09-26 00:00:00.000000000 Z
11
12
  dependencies:
12
13
  - !ruby/object:Gem::Dependency
13
14
  name: activesupport
@@ -15,28 +16,28 @@ dependencies:
15
16
  requirements:
16
17
  - - '='
17
18
  - !ruby/object:Gem::Version
18
- version: 7.2.2.2
19
+ version: 8.0.0.beta1
19
20
  type: :runtime
20
21
  prerelease: false
21
22
  version_requirements: !ruby/object:Gem::Requirement
22
23
  requirements:
23
24
  - - '='
24
25
  - !ruby/object:Gem::Version
25
- version: 7.2.2.2
26
+ version: 8.0.0.beta1
26
27
  - !ruby/object:Gem::Dependency
27
28
  name: actionpack
28
29
  requirement: !ruby/object:Gem::Requirement
29
30
  requirements:
30
31
  - - '='
31
32
  - !ruby/object:Gem::Version
32
- version: 7.2.2.2
33
+ version: 8.0.0.beta1
33
34
  type: :runtime
34
35
  prerelease: false
35
36
  version_requirements: !ruby/object:Gem::Requirement
36
37
  requirements:
37
38
  - - '='
38
39
  - !ruby/object:Gem::Version
39
- version: 7.2.2.2
40
+ version: 8.0.0.beta1
40
41
  - !ruby/object:Gem::Dependency
41
42
  name: rackup
42
43
  requirement: !ruby/object:Gem::Requirement
@@ -119,14 +120,14 @@ dependencies:
119
120
  requirements:
120
121
  - - '='
121
122
  - !ruby/object:Gem::Version
122
- version: 7.2.2.2
123
+ version: 8.0.0.beta1
123
124
  type: :development
124
125
  prerelease: false
125
126
  version_requirements: !ruby/object:Gem::Requirement
126
127
  requirements:
127
128
  - - '='
128
129
  - !ruby/object:Gem::Version
129
- version: 7.2.2.2
130
+ version: 8.0.0.beta1
130
131
  description: 'Rails internals: application bootup, plugins, generators, and rake tasks.'
131
132
  email: david@loudthinking.com
132
133
  executables:
@@ -199,6 +200,7 @@ files:
199
200
  - lib/rails/commands/runner/runner_command.rb
200
201
  - lib/rails/commands/secret/secret_command.rb
201
202
  - lib/rails/commands/server/server_command.rb
203
+ - lib/rails/commands/stats/stats_command.rb
202
204
  - lib/rails/commands/test/USAGE
203
205
  - lib/rails/commands/test/test_command.rb
204
206
  - lib/rails/commands/unused_routes/unused_routes_command.rb
@@ -212,6 +214,7 @@ files:
212
214
  - lib/rails/engine.rb
213
215
  - lib/rails/engine/commands.rb
214
216
  - lib/rails/engine/configuration.rb
217
+ - lib/rails/engine/lazy_route_set.rb
215
218
  - lib/rails/engine/railties.rb
216
219
  - lib/rails/engine/updater.rb
217
220
  - lib/rails/gem_version.rb
@@ -224,6 +227,10 @@ files:
224
227
  - lib/rails/generators/base.rb
225
228
  - lib/rails/generators/database.rb
226
229
  - lib/rails/generators/erb.rb
230
+ - lib/rails/generators/erb/authentication/authentication_generator.rb
231
+ - lib/rails/generators/erb/authentication/templates/views/passwords/edit.html.erb
232
+ - lib/rails/generators/erb/authentication/templates/views/passwords/new.html.erb
233
+ - lib/rails/generators/erb/authentication/templates/views/sessions/new.html.erb
227
234
  - lib/rails/generators/erb/controller/controller_generator.rb
228
235
  - lib/rails/generators/erb/controller/templates/view.html.erb.tt
229
236
  - lib/rails/generators/erb/mailer/mailer_generator.rb
@@ -248,10 +255,7 @@ files:
248
255
  - lib/rails/generators/rails/app/templates/Gemfile.tt
249
256
  - lib/rails/generators/rails/app/templates/README.md.tt
250
257
  - lib/rails/generators/rails/app/templates/Rakefile.tt
251
- - lib/rails/generators/rails/app/templates/app/assets/config/manifest.js.tt
252
258
  - lib/rails/generators/rails/app/templates/app/assets/stylesheets/application.css.tt
253
- - lib/rails/generators/rails/app/templates/app/channels/application_cable/channel.rb.tt
254
- - lib/rails/generators/rails/app/templates/app/channels/application_cable/connection.rb.tt
255
259
  - lib/rails/generators/rails/app/templates/app/controllers/application_controller.rb.tt
256
260
  - lib/rails/generators/rails/app/templates/app/helpers/application_helper.rb.tt
257
261
  - lib/rails/generators/rails/app/templates/app/jobs/application_job.rb.tt
@@ -263,10 +267,12 @@ files:
263
267
  - lib/rails/generators/rails/app/templates/app/views/pwa/manifest.json.erb.tt
264
268
  - lib/rails/generators/rails/app/templates/app/views/pwa/service-worker.js
265
269
  - lib/rails/generators/rails/app/templates/bin/brakeman.tt
270
+ - lib/rails/generators/rails/app/templates/bin/dev.tt
266
271
  - lib/rails/generators/rails/app/templates/bin/rails.tt
267
272
  - lib/rails/generators/rails/app/templates/bin/rake.tt
268
273
  - lib/rails/generators/rails/app/templates/bin/rubocop.tt
269
274
  - lib/rails/generators/rails/app/templates/bin/setup.tt
275
+ - lib/rails/generators/rails/app/templates/bin/thrust.tt
270
276
  - lib/rails/generators/rails/app/templates/config.ru.tt
271
277
  - lib/rails/generators/rails/app/templates/config/application.rb.tt
272
278
  - lib/rails/generators/rails/app/templates/config/boot.rb.tt
@@ -275,6 +281,7 @@ files:
275
281
  - lib/rails/generators/rails/app/templates/config/databases/postgresql.yml.tt
276
282
  - lib/rails/generators/rails/app/templates/config/databases/sqlite3.yml.tt
277
283
  - lib/rails/generators/rails/app/templates/config/databases/trilogy.yml.tt
284
+ - lib/rails/generators/rails/app/templates/config/deploy.yml.tt
278
285
  - lib/rails/generators/rails/app/templates/config/environment.rb.tt
279
286
  - lib/rails/generators/rails/app/templates/config/environments/development.rb.tt
280
287
  - lib/rails/generators/rails/app/templates/config/environments/production.rb.tt
@@ -284,8 +291,7 @@ files:
284
291
  - lib/rails/generators/rails/app/templates/config/initializers/cors.rb.tt
285
292
  - lib/rails/generators/rails/app/templates/config/initializers/filter_parameter_logging.rb.tt
286
293
  - lib/rails/generators/rails/app/templates/config/initializers/inflections.rb.tt
287
- - lib/rails/generators/rails/app/templates/config/initializers/new_framework_defaults_7_2.rb.tt
288
- - lib/rails/generators/rails/app/templates/config/initializers/permissions_policy.rb.tt
294
+ - lib/rails/generators/rails/app/templates/config/initializers/new_framework_defaults_8_0.rb.tt
289
295
  - lib/rails/generators/rails/app/templates/config/locales/en.yml
290
296
  - lib/rails/generators/rails/app/templates/config/puma.rb.tt
291
297
  - lib/rails/generators/rails/app/templates/config/routes.rb.tt
@@ -297,7 +303,9 @@ files:
297
303
  - lib/rails/generators/rails/app/templates/github/ci.yml.tt
298
304
  - lib/rails/generators/rails/app/templates/github/dependabot.yml
299
305
  - lib/rails/generators/rails/app/templates/gitignore.tt
306
+ - lib/rails/generators/rails/app/templates/kamal-secrets.tt
300
307
  - lib/rails/generators/rails/app/templates/node-version.tt
308
+ - lib/rails/generators/rails/app/templates/public/400.html
301
309
  - lib/rails/generators/rails/app/templates/public/404.html
302
310
  - lib/rails/generators/rails/app/templates/public/406-unsupported-browser.html
303
311
  - lib/rails/generators/rails/app/templates/public/422.html
@@ -308,9 +316,20 @@ files:
308
316
  - lib/rails/generators/rails/app/templates/rubocop.yml.tt
309
317
  - lib/rails/generators/rails/app/templates/ruby-version.tt
310
318
  - lib/rails/generators/rails/app/templates/test/application_system_test_case.rb.tt
311
- - lib/rails/generators/rails/app/templates/test/channels/application_cable/connection_test.rb.tt
312
319
  - lib/rails/generators/rails/app/templates/test/test_helper.rb.tt
313
320
  - lib/rails/generators/rails/application_record/application_record_generator.rb
321
+ - lib/rails/generators/rails/authentication/USAGE
322
+ - lib/rails/generators/rails/authentication/authentication_generator.rb
323
+ - lib/rails/generators/rails/authentication/templates/controllers/concerns/authentication.rb
324
+ - lib/rails/generators/rails/authentication/templates/controllers/passwords_controller.rb
325
+ - lib/rails/generators/rails/authentication/templates/controllers/sessions_controller.rb
326
+ - lib/rails/generators/rails/authentication/templates/mailers/passwords_mailer.rb
327
+ - lib/rails/generators/rails/authentication/templates/models/current.rb
328
+ - lib/rails/generators/rails/authentication/templates/models/session.rb
329
+ - lib/rails/generators/rails/authentication/templates/models/user.rb
330
+ - lib/rails/generators/rails/authentication/templates/test/mailers/previews/passwords_mailer_preview.rb
331
+ - lib/rails/generators/rails/authentication/templates/views/passwords_mailer/reset.html.erb
332
+ - lib/rails/generators/rails/authentication/templates/views/passwords_mailer/reset.text.erb
314
333
  - lib/rails/generators/rails/benchmark/USAGE
315
334
  - lib/rails/generators/rails/benchmark/benchmark_generator.rb
316
335
  - lib/rails/generators/rails/benchmark/templates/benchmark.rb.tt
@@ -366,9 +385,6 @@ files:
366
385
  - lib/rails/generators/rails/plugin/templates/lib/%namespaced_name%/version.rb.tt
367
386
  - lib/rails/generators/rails/plugin/templates/lib/tasks/%namespaced_name%_tasks.rake.tt
368
387
  - lib/rails/generators/rails/plugin/templates/rails/boot.rb.tt
369
- - lib/rails/generators/rails/plugin/templates/rails/dummy_manifest.js.tt
370
- - lib/rails/generators/rails/plugin/templates/rails/engine_manifest.js.tt
371
- - lib/rails/generators/rails/plugin/templates/rails/javascripts.js.tt
372
388
  - lib/rails/generators/rails/plugin/templates/rails/routes.rb.tt
373
389
  - lib/rails/generators/rails/plugin/templates/rails/stylesheets.css
374
390
  - lib/rails/generators/rails/plugin/templates/rubocop.yml.tt
@@ -385,6 +401,9 @@ files:
385
401
  - lib/rails/generators/rails/scaffold_controller/scaffold_controller_generator.rb
386
402
  - lib/rails/generators/rails/scaffold_controller/templates/api_controller.rb.tt
387
403
  - lib/rails/generators/rails/scaffold_controller/templates/controller.rb.tt
404
+ - lib/rails/generators/rails/script/USAGE
405
+ - lib/rails/generators/rails/script/script_generator.rb
406
+ - lib/rails/generators/rails/script/templates/script.rb.tt
388
407
  - lib/rails/generators/rails/system_test/USAGE
389
408
  - lib/rails/generators/rails/system_test/system_test_generator.rb
390
409
  - lib/rails/generators/rails/task/USAGE
@@ -431,6 +450,7 @@ files:
431
450
  - lib/rails/pwa_controller.rb
432
451
  - lib/rails/rack.rb
433
452
  - lib/rails/rack/logger.rb
453
+ - lib/rails/rack/silence_request.rb
434
454
  - lib/rails/rackup/server.rb
435
455
  - lib/rails/railtie.rb
436
456
  - lib/rails/railtie/configurable.rb
@@ -446,6 +466,7 @@ files:
446
466
  - lib/rails/tasks/yarn.rake
447
467
  - lib/rails/tasks/zeitwerk.rake
448
468
  - lib/rails/templates/layouts/application.html.erb
469
+ - lib/rails/templates/rails/info/notes.html.erb
449
470
  - lib/rails/templates/rails/info/properties.html.erb
450
471
  - lib/rails/templates/rails/info/routes.html.erb
451
472
  - lib/rails/templates/rails/mailers/email.html.erb
@@ -468,11 +489,12 @@ licenses:
468
489
  - MIT
469
490
  metadata:
470
491
  bug_tracker_uri: https://github.com/rails/rails/issues
471
- changelog_uri: https://github.com/rails/rails/blob/v7.2.2.2/railties/CHANGELOG.md
472
- documentation_uri: https://api.rubyonrails.org/v7.2.2.2/
492
+ changelog_uri: https://github.com/rails/rails/blob/v8.0.0.beta1/railties/CHANGELOG.md
493
+ documentation_uri: https://api.rubyonrails.org/v8.0.0.beta1/
473
494
  mailing_list_uri: https://discuss.rubyonrails.org/c/rubyonrails-talk
474
- source_code_uri: https://github.com/rails/rails/tree/v7.2.2.2/railties
495
+ source_code_uri: https://github.com/rails/rails/tree/v8.0.0.beta1/railties
475
496
  rubygems_mfa_required: 'true'
497
+ post_install_message:
476
498
  rdoc_options:
477
499
  - "--exclude"
478
500
  - "."
@@ -482,14 +504,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
482
504
  requirements:
483
505
  - - ">="
484
506
  - !ruby/object:Gem::Version
485
- version: 3.1.0
507
+ version: 3.2.0
486
508
  required_rubygems_version: !ruby/object:Gem::Requirement
487
509
  requirements:
488
510
  - - ">="
489
511
  - !ruby/object:Gem::Version
490
512
  version: '0'
491
513
  requirements: []
492
- rubygems_version: 3.6.9
514
+ rubygems_version: 3.5.16
515
+ signing_key:
493
516
  specification_version: 4
494
517
  summary: Tools for creating, working with, and running Rails applications.
495
518
  test_files: []
@@ -1,2 +0,0 @@
1
- //= link_tree ../images
2
- //= link_directory ../stylesheets .css
@@ -1,4 +0,0 @@
1
- module ApplicationCable
2
- class Channel < ActionCable::Channel::Base
3
- end
4
- end
@@ -1,4 +0,0 @@
1
- module ApplicationCable
2
- class Connection < ActionCable::Connection::Base
3
- end
4
- end
@@ -1,70 +0,0 @@
1
- # Be sure to restart your server when you modify this file.
2
- #
3
- # This file eases your Rails 7.2 framework defaults upgrade.
4
- #
5
- # Uncomment each configuration one by one to switch to the new default.
6
- # Once your application is ready to run with all new defaults, you can remove
7
- # this file and set the `config.load_defaults` to `7.2`.
8
- #
9
- # Read the Guide for Upgrading Ruby on Rails for more info on each option.
10
- # https://guides.rubyonrails.org/upgrading_ruby_on_rails.html
11
-
12
- ###
13
- # Controls whether Active Job's `#perform_later` and similar methods automatically defer
14
- # the job queuing to after the current Active Record transaction is committed.
15
- #
16
- # Example:
17
- # Topic.transaction do
18
- # topic = Topic.create(...)
19
- # NewTopicNotificationJob.perform_later(topic)
20
- # end
21
- #
22
- # In this example, if the configuration is set to `:never`, the job will
23
- # be enqueued immediately, even though the `Topic` hasn't been committed yet.
24
- # Because of this, if the job is picked up almost immediately, or if the
25
- # transaction doesn't succeed for some reason, the job will fail to find this
26
- # topic in the database.
27
- #
28
- # If `enqueue_after_transaction_commit` is set to `:default`, the queue adapter
29
- # will define the behaviour.
30
- #
31
- # Note: Active Job backends can disable this feature. This is generally done by
32
- # backends that use the same database as Active Record as a queue, hence they
33
- # don't need this feature.
34
- #++
35
- # Rails.application.config.active_job.enqueue_after_transaction_commit = :default
36
-
37
- ###
38
- # Adds image/webp to the list of content types Active Storage considers as an image
39
- # Prevents automatic conversion to a fallback PNG, and assumes clients support WebP, as they support gif, jpeg, and png.
40
- # This is possible due to broad browser support for WebP, but older browsers and email clients may still not support
41
- # WebP. Requires imagemagick/libvips built with WebP support.
42
- #++
43
- # Rails.application.config.active_storage.web_image_content_types = %w[image/png image/jpeg image/gif image/webp]
44
-
45
- ###
46
- # Enable validation of migration timestamps. When set, an ActiveRecord::InvalidMigrationTimestampError
47
- # will be raised if the timestamp prefix for a migration is more than a day ahead of the timestamp
48
- # associated with the current time. This is done to prevent forward-dating of migration files, which can
49
- # impact migration generation and other migration commands.
50
- #
51
- # Applications with existing timestamped migrations that do not adhere to the
52
- # expected format can disable validation by setting this config to `false`.
53
- #++
54
- # Rails.application.config.active_record.validate_migration_timestamps = true
55
-
56
- ###
57
- # Controls whether the PostgresqlAdapter should decode dates automatically with manual queries.
58
- #
59
- # Example:
60
- # ActiveRecord::ConnectionAdapters::PostgreSQLAdapter.select_value("select '2024-01-01'::date") #=> Date
61
- #
62
- # This query used to return a `String`.
63
- #++
64
- # Rails.application.config.active_record.postgresql_adapter_decode_dates = true
65
-
66
- ###
67
- # Enables YJIT as of Ruby 3.3, to bring sizeable performance improvements. If you are
68
- # deploying to a memory constrained environment you may want to set this to `false`.
69
- #++
70
- # Rails.application.config.yjit = true
@@ -1,13 +0,0 @@
1
- # Be sure to restart your server when you modify this file.
2
-
3
- # Define an application-wide HTTP permissions policy. For further
4
- # information see: https://developers.google.com/web/updates/2018/06/feature-policy
5
-
6
- # Rails.application.config.permissions_policy do |policy|
7
- # policy.camera :none
8
- # policy.gyroscope :none
9
- # policy.microphone :none
10
- # policy.usb :none
11
- # policy.fullscreen :self
12
- # policy.payment :self, "https://secure.example.com"
13
- # end
@@ -1,13 +0,0 @@
1
- require "test_helper"
2
-
3
- module ApplicationCable
4
- class ConnectionTest < ActionCable::Connection::TestCase
5
- # test "connects with cookies" do
6
- # cookies.signed[:user_id] = 42
7
- #
8
- # connect
9
- #
10
- # assert_equal connection.user_id, "42"
11
- # end
12
- end
13
- end
@@ -1,10 +0,0 @@
1
- <% unless api? -%>
2
- //= link_tree ../images
3
- <% end -%>
4
- <% unless options.skip_javascript -%>
5
- //= link_directory ../javascripts .js
6
- <% end -%>
7
- //= link_directory ../stylesheets .css
8
- <% if mountable? && !api? -%>
9
- //= link <%= underscored_name %>_manifest.js
10
- <% end -%>
@@ -1,6 +0,0 @@
1
- <% if mountable? -%>
2
- <% if !options.skip_javascript -%>
3
- //= link_directory ../javascripts/<%= namespaced_name %> .js
4
- <% end -%>
5
- //= link_directory ../stylesheets/<%= namespaced_name %> .css
6
- <% end -%>
@@ -1,17 +0,0 @@
1
- // This is a manifest file that'll be compiled into application.js, which will include all the files
2
- // listed below.
3
- //
4
- // Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
5
- // or any plugin's vendor/assets/javascripts directory can be referenced here using a relative path.
6
- //
7
- // It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
8
- // compiled file. JavaScript code in this file should be added after the last require_* statement.
9
- //
10
- // Read Sprockets README (https://github.com/rails/sprockets#sprockets-directives) for details
11
- // about supported directives.
12
- //
13
- //= require rails-ujs
14
- <% unless skip_active_storage? -%>
15
- //= require activestorage
16
- <% end -%>
17
- //= require_tree .