railties 7.1.3.2 → 7.2.2.2

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 (133) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +202 -699
  3. data/lib/minitest/rails_plugin.rb +5 -2
  4. data/lib/rails/all.rb +1 -3
  5. data/lib/rails/api/task.rb +6 -4
  6. data/lib/rails/application/bootstrap.rb +5 -6
  7. data/lib/rails/application/configuration.rb +73 -38
  8. data/lib/rails/application/dummy_config.rb +2 -2
  9. data/lib/rails/application/finisher.rb +7 -0
  10. data/lib/rails/application.rb +22 -86
  11. data/lib/rails/backtrace_cleaner.rb +18 -3
  12. data/lib/rails/cli.rb +0 -1
  13. data/lib/rails/command.rb +1 -1
  14. data/lib/rails/commands/app/update_command.rb +102 -0
  15. data/lib/rails/commands/boot/boot_command.rb +14 -0
  16. data/lib/rails/commands/console/console_command.rb +2 -21
  17. data/lib/rails/commands/console/irb_console.rb +146 -0
  18. data/lib/rails/commands/credentials/credentials_command.rb +2 -2
  19. data/lib/rails/commands/dbconsole/dbconsole_command.rb +21 -30
  20. data/lib/rails/commands/devcontainer/devcontainer_command.rb +39 -0
  21. data/lib/rails/commands/rake/rake_command.rb +1 -1
  22. data/lib/rails/commands/runner/runner_command.rb +14 -3
  23. data/lib/rails/commands/server/server_command.rb +5 -3
  24. data/lib/rails/commands/test/test_command.rb +2 -0
  25. data/lib/rails/configuration.rb +10 -1
  26. data/lib/rails/console/app.rb +5 -32
  27. data/lib/rails/console/helpers.rb +5 -16
  28. data/lib/rails/console/methods.rb +23 -0
  29. data/lib/rails/engine.rb +7 -7
  30. data/lib/rails/gem_version.rb +2 -2
  31. data/lib/rails/generators/app_base.rb +70 -49
  32. data/lib/rails/generators/base.rb +5 -1
  33. data/lib/rails/generators/database.rb +227 -69
  34. data/lib/rails/generators/erb/scaffold/templates/edit.html.erb.tt +2 -0
  35. data/lib/rails/generators/erb/scaffold/templates/index.html.erb.tt +2 -0
  36. data/lib/rails/generators/erb/scaffold/templates/new.html.erb.tt +2 -0
  37. data/lib/rails/generators/generated_attribute.rb +26 -1
  38. data/lib/rails/generators/migration.rb +3 -3
  39. data/lib/rails/generators/rails/app/app_generator.rb +56 -28
  40. data/lib/rails/generators/rails/app/templates/Dockerfile.tt +22 -15
  41. data/lib/rails/generators/rails/app/templates/Gemfile.tt +17 -17
  42. data/lib/rails/generators/rails/app/templates/app/controllers/application_controller.rb.tt +4 -0
  43. data/lib/rails/generators/rails/app/templates/app/views/layouts/application.html.erb.tt +8 -1
  44. data/lib/rails/generators/rails/app/templates/app/views/pwa/manifest.json.erb.tt +22 -0
  45. data/lib/rails/generators/rails/app/templates/app/views/pwa/service-worker.js +26 -0
  46. data/lib/rails/generators/rails/app/templates/bin/brakeman.tt +6 -0
  47. data/lib/rails/generators/rails/app/templates/bin/rubocop.tt +7 -0
  48. data/lib/rails/generators/rails/app/templates/bin/setup.tt +6 -2
  49. data/lib/rails/generators/rails/app/templates/config/application.rb.tt +1 -1
  50. data/lib/rails/generators/rails/app/templates/config/databases/mysql.yml.tt +3 -3
  51. data/lib/rails/generators/rails/app/templates/config/databases/postgresql.yml.tt +7 -0
  52. data/lib/rails/generators/rails/app/templates/config/databases/sqlite3.yml.tt +8 -1
  53. data/lib/rails/generators/rails/app/templates/config/databases/trilogy.yml.tt +3 -3
  54. data/lib/rails/generators/rails/app/templates/config/environments/development.rb.tt +14 -7
  55. data/lib/rails/generators/rails/app/templates/config/environments/production.rb.tt +8 -0
  56. data/lib/rails/generators/rails/app/templates/config/environments/test.rb.tt +8 -5
  57. data/lib/rails/generators/rails/app/templates/config/initializers/assets.rb.tt +1 -1
  58. data/lib/rails/generators/rails/app/templates/config/initializers/filter_parameter_logging.rb.tt +1 -1
  59. data/lib/rails/generators/rails/app/templates/config/initializers/new_framework_defaults_7_2.rb.tt +70 -0
  60. data/lib/rails/generators/rails/app/templates/config/puma.rb.tt +25 -26
  61. data/lib/rails/generators/rails/app/templates/config/routes.rb.tt +6 -0
  62. data/lib/rails/generators/rails/app/templates/docker-entrypoint.tt +5 -0
  63. data/lib/rails/generators/rails/app/templates/dockerignore.tt +13 -0
  64. data/lib/rails/generators/rails/app/templates/github/ci.yml.tt +138 -0
  65. data/lib/rails/generators/rails/app/templates/github/dependabot.yml +12 -0
  66. data/lib/rails/generators/rails/app/templates/gitignore.tt +3 -3
  67. data/lib/rails/generators/rails/app/templates/public/406-unsupported-browser.html +66 -0
  68. data/lib/rails/generators/rails/app/templates/public/icon.png +0 -0
  69. data/lib/rails/generators/rails/app/templates/public/icon.svg +3 -0
  70. data/lib/rails/generators/rails/app/templates/rubocop.yml.tt +8 -0
  71. data/lib/rails/generators/rails/app/templates/test/application_system_test_case.rb.tt +1 -1
  72. data/lib/rails/generators/rails/controller/controller_generator.rb +1 -1
  73. data/lib/rails/generators/rails/db/system/change/change_generator.rb +131 -20
  74. data/lib/rails/generators/rails/devcontainer/devcontainer_generator.rb +166 -0
  75. data/lib/rails/generators/rails/devcontainer/templates/devcontainer/Dockerfile.tt +3 -0
  76. data/lib/rails/generators/rails/devcontainer/templates/devcontainer/compose.yaml.tt +47 -0
  77. data/lib/rails/generators/rails/devcontainer/templates/devcontainer/devcontainer.json.tt +37 -0
  78. data/lib/rails/generators/rails/migration/migration_generator.rb +4 -0
  79. data/lib/rails/generators/rails/plugin/plugin_generator.rb +40 -7
  80. data/lib/rails/generators/rails/plugin/templates/%name%.gemspec.tt +2 -2
  81. data/lib/rails/generators/rails/plugin/templates/Gemfile.tt +5 -1
  82. data/lib/rails/generators/rails/plugin/templates/app/views/layouts/%namespaced_name%/application.html.erb.tt +2 -0
  83. data/lib/rails/generators/rails/plugin/templates/bin/rubocop.tt +7 -0
  84. data/lib/rails/generators/rails/plugin/templates/github/ci.yml.tt +103 -0
  85. data/lib/rails/generators/rails/plugin/templates/github/dependabot.yml +12 -0
  86. data/lib/rails/generators/rails/plugin/templates/rubocop.yml.tt +8 -0
  87. data/lib/rails/generators/rails/plugin/templates/test/application_system_test_case.rb.tt +1 -1
  88. data/lib/rails/generators/rails/plugin/templates/test/test_helper.rb.tt +2 -2
  89. data/lib/rails/generators/test_unit/mailer/templates/functional_test.rb.tt +6 -4
  90. data/lib/rails/generators/test_unit/mailer/templates/preview.rb.tt +3 -2
  91. data/lib/rails/generators/test_unit/scaffold/scaffold_generator.rb +15 -1
  92. data/lib/rails/generators/test_unit/scaffold/templates/api_functional_test.rb.tt +2 -2
  93. data/lib/rails/generators/test_unit/scaffold/templates/functional_test.rb.tt +2 -2
  94. data/lib/rails/generators/test_unit/scaffold/templates/system_test.rb.tt +2 -0
  95. data/lib/rails/generators/test_unit/system/templates/application_system_test_case.rb.tt +1 -1
  96. data/lib/rails/generators/testing/assertions.rb +20 -0
  97. data/lib/rails/generators/testing/behavior.rb +7 -6
  98. data/lib/rails/generators.rb +6 -2
  99. data/lib/rails/health_controller.rb +1 -1
  100. data/lib/rails/info.rb +2 -2
  101. data/lib/rails/info_controller.rb +4 -2
  102. data/lib/rails/mailers_controller.rb +14 -1
  103. data/lib/rails/paths.rb +2 -2
  104. data/lib/rails/pwa_controller.rb +15 -0
  105. data/lib/rails/rack/logger.rb +15 -7
  106. data/lib/rails/railtie/configurable.rb +2 -2
  107. data/lib/rails/railtie.rb +15 -16
  108. data/lib/rails/tasks/framework.rake +0 -26
  109. data/lib/rails/tasks/tmp.rake +1 -1
  110. data/lib/rails/templates/layouts/application.html.erb +1 -1
  111. data/lib/rails/templates/rails/mailers/email.html.erb +12 -8
  112. data/lib/rails/templates/rails/welcome/index.html.erb +4 -2
  113. data/lib/rails/test_help.rb +2 -4
  114. data/lib/rails/test_unit/reporter.rb +8 -2
  115. data/lib/rails/test_unit/runner.rb +26 -2
  116. data/lib/rails/test_unit/test_parser.rb +45 -0
  117. data/lib/rails.rb +7 -4
  118. metadata +42 -35
  119. data/lib/rails/app_updater.rb +0 -40
  120. data/lib/rails/commands/secrets/USAGE +0 -61
  121. data/lib/rails/commands/secrets/secrets_command.rb +0 -47
  122. data/lib/rails/generators/rails/app/templates/config/databases/jdbc.yml.tt +0 -68
  123. data/lib/rails/generators/rails/app/templates/config/databases/jdbcmysql.yml.tt +0 -54
  124. data/lib/rails/generators/rails/app/templates/config/databases/jdbcpostgresql.yml.tt +0 -70
  125. data/lib/rails/generators/rails/app/templates/config/databases/jdbcsqlite3.yml.tt +0 -24
  126. data/lib/rails/generators/rails/app/templates/config/databases/oracle.yml.tt +0 -62
  127. data/lib/rails/generators/rails/app/templates/config/databases/sqlserver.yml.tt +0 -53
  128. data/lib/rails/generators/rails/app/templates/config/initializers/new_framework_defaults_7_1.rb.tt +0 -284
  129. data/lib/rails/generators/rails/app/templates/public/apple-touch-icon-precomposed.png +0 -0
  130. data/lib/rails/generators/rails/app/templates/public/apple-touch-icon.png +0 -0
  131. data/lib/rails/generators/rails/app/templates/public/favicon.ico +0 -0
  132. data/lib/rails/ruby_version_check.rb +0 -17
  133. data/lib/rails/secrets.rb +0 -110
@@ -1,5 +1,50 @@
1
1
  # frozen_string_literal: true
2
2
 
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 parser using ripper.
8
+ end
9
+
10
+ if defined?(Prism)
11
+ module Rails
12
+ module TestUnit
13
+ # Parse a test file to extract the line ranges of all tests in both
14
+ # method-style (def test_foo) and declarative-style (test "foo" do)
15
+ module TestParser
16
+ # Helper to translate a method object into the path and line range where
17
+ # the method was defined.
18
+ def self.definition_for(method)
19
+ filepath, start_line = method.source_location
20
+ queue = [Prism.parse_file(filepath).value]
21
+
22
+ while (node = queue.shift)
23
+ case node.type
24
+ when :def_node
25
+ if node.location.start_line == start_line
26
+ return [filepath, start_line..node.location.end_line]
27
+ end
28
+ when :call_node
29
+ if node.location.start_line == start_line
30
+ return [filepath, start_line..node.location.end_line]
31
+ end
32
+ end
33
+
34
+ queue.concat(node.compact_child_nodes)
35
+ end
36
+
37
+ nil
38
+ end
39
+ end
40
+ end
41
+ end
42
+
43
+ # If we have Prism, then we don't need to define the fallback parser using
44
+ # ripper.
45
+ return
46
+ end
47
+
3
48
  require "ripper"
4
49
 
5
50
  module Rails
data/lib/rails.rb CHANGED
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "rails/ruby_version_check"
4
-
5
3
  require "pathname"
6
4
 
7
5
  require "active_support"
@@ -24,17 +22,21 @@ silence_warnings do
24
22
  Encoding.default_internal = Encoding::UTF_8
25
23
  end
26
24
 
27
- # :include: railties/README.rdoc
25
+ # :include: ../README.rdoc
28
26
  module Rails
29
27
  extend ActiveSupport::Autoload
30
28
  extend ActiveSupport::Benchmarkable
31
29
 
32
- autoload :HealthController
33
30
  autoload :Info
34
31
  autoload :InfoController
35
32
  autoload :MailersController
36
33
  autoload :WelcomeController
37
34
 
35
+ eager_autoload do
36
+ autoload :HealthController
37
+ autoload :PwaController
38
+ end
39
+
38
40
  class << self
39
41
  @application = @app_class = nil
40
42
 
@@ -69,6 +71,7 @@ module Rails
69
71
  # Rails.env # => "development"
70
72
  # Rails.env.development? # => true
71
73
  # Rails.env.production? # => false
74
+ # Rails.env.local? # => true true for "development" and "test", false for anything else
72
75
  def env
73
76
  @_env ||= ActiveSupport::EnvironmentInquirer.new(ENV["RAILS_ENV"].presence || ENV["RACK_ENV"].presence || "development")
74
77
  end
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: railties
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.1.3.2
4
+ version: 7.2.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Heinemeier Hansson
8
- autorequire:
9
8
  bindir: exe
10
9
  cert_chain: []
11
- date: 2024-02-21 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: activesupport
@@ -16,28 +15,28 @@ dependencies:
16
15
  requirements:
17
16
  - - '='
18
17
  - !ruby/object:Gem::Version
19
- version: 7.1.3.2
18
+ version: 7.2.2.2
20
19
  type: :runtime
21
20
  prerelease: false
22
21
  version_requirements: !ruby/object:Gem::Requirement
23
22
  requirements:
24
23
  - - '='
25
24
  - !ruby/object:Gem::Version
26
- version: 7.1.3.2
25
+ version: 7.2.2.2
27
26
  - !ruby/object:Gem::Dependency
28
27
  name: actionpack
29
28
  requirement: !ruby/object:Gem::Requirement
30
29
  requirements:
31
30
  - - '='
32
31
  - !ruby/object:Gem::Version
33
- version: 7.1.3.2
32
+ version: 7.2.2.2
34
33
  type: :runtime
35
34
  prerelease: false
36
35
  version_requirements: !ruby/object:Gem::Requirement
37
36
  requirements:
38
37
  - - '='
39
38
  - !ruby/object:Gem::Version
40
- version: 7.1.3.2
39
+ version: 7.2.2.2
41
40
  - !ruby/object:Gem::Dependency
42
41
  name: rackup
43
42
  requirement: !ruby/object:Gem::Requirement
@@ -104,30 +103,30 @@ dependencies:
104
103
  name: irb
105
104
  requirement: !ruby/object:Gem::Requirement
106
105
  requirements:
107
- - - ">="
106
+ - - "~>"
108
107
  - !ruby/object:Gem::Version
109
- version: '0'
108
+ version: '1.13'
110
109
  type: :runtime
111
110
  prerelease: false
112
111
  version_requirements: !ruby/object:Gem::Requirement
113
112
  requirements:
114
- - - ">="
113
+ - - "~>"
115
114
  - !ruby/object:Gem::Version
116
- version: '0'
115
+ version: '1.13'
117
116
  - !ruby/object:Gem::Dependency
118
117
  name: actionview
119
118
  requirement: !ruby/object:Gem::Requirement
120
119
  requirements:
121
120
  - - '='
122
121
  - !ruby/object:Gem::Version
123
- version: 7.1.3.2
122
+ version: 7.2.2.2
124
123
  type: :development
125
124
  prerelease: false
126
125
  version_requirements: !ruby/object:Gem::Requirement
127
126
  requirements:
128
127
  - - '='
129
128
  - !ruby/object:Gem::Version
130
- version: 7.1.3.2
129
+ version: 7.2.2.2
131
130
  description: 'Rails internals: application bootup, plugins, generators, and rake tasks.'
132
131
  email: david@loudthinking.com
133
132
  executables:
@@ -146,7 +145,6 @@ files:
146
145
  - lib/rails/api/generator.rb
147
146
  - lib/rails/api/task.rb
148
147
  - lib/rails/app_loader.rb
149
- - lib/rails/app_updater.rb
150
148
  - lib/rails/application.rb
151
149
  - lib/rails/application/bootstrap.rb
152
150
  - lib/rails/application/configuration.rb
@@ -169,8 +167,11 @@ files:
169
167
  - lib/rails/command/helpers/editor.rb
170
168
  - lib/rails/commands.rb
171
169
  - lib/rails/commands/about/about_command.rb
170
+ - lib/rails/commands/app/update_command.rb
172
171
  - lib/rails/commands/application/application_command.rb
172
+ - lib/rails/commands/boot/boot_command.rb
173
173
  - lib/rails/commands/console/console_command.rb
174
+ - lib/rails/commands/console/irb_console.rb
174
175
  - lib/rails/commands/credentials/USAGE
175
176
  - lib/rails/commands/credentials/credentials_command.rb
176
177
  - lib/rails/commands/credentials/credentials_command/diffing.rb
@@ -178,6 +179,7 @@ files:
178
179
  - lib/rails/commands/dbconsole/dbconsole_command.rb
179
180
  - lib/rails/commands/destroy/destroy_command.rb
180
181
  - lib/rails/commands/dev/dev_command.rb
182
+ - lib/rails/commands/devcontainer/devcontainer_command.rb
181
183
  - lib/rails/commands/encrypted/USAGE
182
184
  - lib/rails/commands/encrypted/encrypted_command.rb
183
185
  - lib/rails/commands/gem_help/USAGE
@@ -196,8 +198,6 @@ files:
196
198
  - lib/rails/commands/runner/USAGE
197
199
  - lib/rails/commands/runner/runner_command.rb
198
200
  - lib/rails/commands/secret/secret_command.rb
199
- - lib/rails/commands/secrets/USAGE
200
- - lib/rails/commands/secrets/secrets_command.rb
201
201
  - lib/rails/commands/server/server_command.rb
202
202
  - lib/rails/commands/test/USAGE
203
203
  - lib/rails/commands/test/test_command.rb
@@ -206,6 +206,7 @@ files:
206
206
  - lib/rails/configuration.rb
207
207
  - lib/rails/console/app.rb
208
208
  - lib/rails/console/helpers.rb
209
+ - lib/rails/console/methods.rb
209
210
  - lib/rails/deprecator.rb
210
211
  - lib/rails/dev_caching.rb
211
212
  - lib/rails/engine.rb
@@ -259,22 +260,20 @@ files:
259
260
  - lib/rails/generators/rails/app/templates/app/views/layouts/application.html.erb.tt
260
261
  - lib/rails/generators/rails/app/templates/app/views/layouts/mailer.html.erb.tt
261
262
  - lib/rails/generators/rails/app/templates/app/views/layouts/mailer.text.erb.tt
263
+ - lib/rails/generators/rails/app/templates/app/views/pwa/manifest.json.erb.tt
264
+ - lib/rails/generators/rails/app/templates/app/views/pwa/service-worker.js
265
+ - lib/rails/generators/rails/app/templates/bin/brakeman.tt
262
266
  - lib/rails/generators/rails/app/templates/bin/rails.tt
263
267
  - lib/rails/generators/rails/app/templates/bin/rake.tt
268
+ - lib/rails/generators/rails/app/templates/bin/rubocop.tt
264
269
  - lib/rails/generators/rails/app/templates/bin/setup.tt
265
270
  - lib/rails/generators/rails/app/templates/config.ru.tt
266
271
  - lib/rails/generators/rails/app/templates/config/application.rb.tt
267
272
  - lib/rails/generators/rails/app/templates/config/boot.rb.tt
268
273
  - lib/rails/generators/rails/app/templates/config/cable.yml.tt
269
- - lib/rails/generators/rails/app/templates/config/databases/jdbc.yml.tt
270
- - lib/rails/generators/rails/app/templates/config/databases/jdbcmysql.yml.tt
271
- - lib/rails/generators/rails/app/templates/config/databases/jdbcpostgresql.yml.tt
272
- - lib/rails/generators/rails/app/templates/config/databases/jdbcsqlite3.yml.tt
273
274
  - lib/rails/generators/rails/app/templates/config/databases/mysql.yml.tt
274
- - lib/rails/generators/rails/app/templates/config/databases/oracle.yml.tt
275
275
  - lib/rails/generators/rails/app/templates/config/databases/postgresql.yml.tt
276
276
  - lib/rails/generators/rails/app/templates/config/databases/sqlite3.yml.tt
277
- - lib/rails/generators/rails/app/templates/config/databases/sqlserver.yml.tt
278
277
  - lib/rails/generators/rails/app/templates/config/databases/trilogy.yml.tt
279
278
  - lib/rails/generators/rails/app/templates/config/environment.rb.tt
280
279
  - lib/rails/generators/rails/app/templates/config/environments/development.rb.tt
@@ -285,7 +284,7 @@ files:
285
284
  - lib/rails/generators/rails/app/templates/config/initializers/cors.rb.tt
286
285
  - lib/rails/generators/rails/app/templates/config/initializers/filter_parameter_logging.rb.tt
287
286
  - lib/rails/generators/rails/app/templates/config/initializers/inflections.rb.tt
288
- - lib/rails/generators/rails/app/templates/config/initializers/new_framework_defaults_7_1.rb.tt
287
+ - lib/rails/generators/rails/app/templates/config/initializers/new_framework_defaults_7_2.rb.tt
289
288
  - lib/rails/generators/rails/app/templates/config/initializers/permissions_policy.rb.tt
290
289
  - lib/rails/generators/rails/app/templates/config/locales/en.yml
291
290
  - lib/rails/generators/rails/app/templates/config/puma.rb.tt
@@ -295,15 +294,18 @@ files:
295
294
  - lib/rails/generators/rails/app/templates/docker-entrypoint.tt
296
295
  - lib/rails/generators/rails/app/templates/dockerignore.tt
297
296
  - lib/rails/generators/rails/app/templates/gitattributes.tt
297
+ - lib/rails/generators/rails/app/templates/github/ci.yml.tt
298
+ - lib/rails/generators/rails/app/templates/github/dependabot.yml
298
299
  - lib/rails/generators/rails/app/templates/gitignore.tt
299
300
  - lib/rails/generators/rails/app/templates/node-version.tt
300
301
  - lib/rails/generators/rails/app/templates/public/404.html
302
+ - lib/rails/generators/rails/app/templates/public/406-unsupported-browser.html
301
303
  - lib/rails/generators/rails/app/templates/public/422.html
302
304
  - lib/rails/generators/rails/app/templates/public/500.html
303
- - lib/rails/generators/rails/app/templates/public/apple-touch-icon-precomposed.png
304
- - lib/rails/generators/rails/app/templates/public/apple-touch-icon.png
305
- - lib/rails/generators/rails/app/templates/public/favicon.ico
305
+ - lib/rails/generators/rails/app/templates/public/icon.png
306
+ - lib/rails/generators/rails/app/templates/public/icon.svg
306
307
  - lib/rails/generators/rails/app/templates/public/robots.txt
308
+ - lib/rails/generators/rails/app/templates/rubocop.yml.tt
307
309
  - lib/rails/generators/rails/app/templates/ruby-version.tt
308
310
  - lib/rails/generators/rails/app/templates/test/application_system_test_case.rb.tt
309
311
  - lib/rails/generators/rails/app/templates/test/channels/application_cable/connection_test.rb.tt
@@ -318,6 +320,10 @@ files:
318
320
  - lib/rails/generators/rails/credentials/credentials_generator.rb
319
321
  - lib/rails/generators/rails/credentials/templates/credentials.yml.tt
320
322
  - lib/rails/generators/rails/db/system/change/change_generator.rb
323
+ - lib/rails/generators/rails/devcontainer/devcontainer_generator.rb
324
+ - lib/rails/generators/rails/devcontainer/templates/devcontainer/Dockerfile.tt
325
+ - lib/rails/generators/rails/devcontainer/templates/devcontainer/compose.yaml.tt
326
+ - lib/rails/generators/rails/devcontainer/templates/devcontainer/devcontainer.json.tt
321
327
  - lib/rails/generators/rails/encrypted_file/encrypted_file_generator.rb
322
328
  - lib/rails/generators/rails/encryption_key_file/encryption_key_file_generator.rb
323
329
  - lib/rails/generators/rails/generator/USAGE
@@ -348,8 +354,11 @@ files:
348
354
  - lib/rails/generators/rails/plugin/templates/app/models/%namespaced_name%/application_record.rb.tt
349
355
  - lib/rails/generators/rails/plugin/templates/app/views/layouts/%namespaced_name%/application.html.erb.tt
350
356
  - lib/rails/generators/rails/plugin/templates/bin/rails.tt
357
+ - lib/rails/generators/rails/plugin/templates/bin/rubocop.tt
351
358
  - lib/rails/generators/rails/plugin/templates/bin/test.tt
352
359
  - lib/rails/generators/rails/plugin/templates/config/routes.rb.tt
360
+ - lib/rails/generators/rails/plugin/templates/github/ci.yml.tt
361
+ - lib/rails/generators/rails/plugin/templates/github/dependabot.yml
353
362
  - lib/rails/generators/rails/plugin/templates/gitignore.tt
354
363
  - lib/rails/generators/rails/plugin/templates/lib/%namespaced_name%.rb.tt
355
364
  - lib/rails/generators/rails/plugin/templates/lib/%namespaced_name%/engine.rb.tt
@@ -362,6 +371,7 @@ files:
362
371
  - lib/rails/generators/rails/plugin/templates/rails/javascripts.js.tt
363
372
  - lib/rails/generators/rails/plugin/templates/rails/routes.rb.tt
364
373
  - lib/rails/generators/rails/plugin/templates/rails/stylesheets.css
374
+ - lib/rails/generators/rails/plugin/templates/rubocop.yml.tt
365
375
  - lib/rails/generators/rails/plugin/templates/test/%namespaced_name%_test.rb.tt
366
376
  - lib/rails/generators/rails/plugin/templates/test/application_system_test_case.rb.tt
367
377
  - lib/rails/generators/rails/plugin/templates/test/integration/navigation_test.rb.tt
@@ -418,14 +428,13 @@ files:
418
428
  - lib/rails/mailers_controller.rb
419
429
  - lib/rails/paths.rb
420
430
  - lib/rails/plugin/test.rb
431
+ - lib/rails/pwa_controller.rb
421
432
  - lib/rails/rack.rb
422
433
  - lib/rails/rack/logger.rb
423
434
  - lib/rails/rackup/server.rb
424
435
  - lib/rails/railtie.rb
425
436
  - lib/rails/railtie/configurable.rb
426
437
  - lib/rails/railtie/configuration.rb
427
- - lib/rails/ruby_version_check.rb
428
- - lib/rails/secrets.rb
429
438
  - lib/rails/source_annotation_extractor.rb
430
439
  - lib/rails/tasks.rb
431
440
  - lib/rails/tasks/engine.rake
@@ -459,12 +468,11 @@ licenses:
459
468
  - MIT
460
469
  metadata:
461
470
  bug_tracker_uri: https://github.com/rails/rails/issues
462
- changelog_uri: https://github.com/rails/rails/blob/v7.1.3.2/railties/CHANGELOG.md
463
- documentation_uri: https://api.rubyonrails.org/v7.1.3.2/
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/
464
473
  mailing_list_uri: https://discuss.rubyonrails.org/c/rubyonrails-talk
465
- source_code_uri: https://github.com/rails/rails/tree/v7.1.3.2/railties
474
+ source_code_uri: https://github.com/rails/rails/tree/v7.2.2.2/railties
466
475
  rubygems_mfa_required: 'true'
467
- post_install_message:
468
476
  rdoc_options:
469
477
  - "--exclude"
470
478
  - "."
@@ -474,15 +482,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
474
482
  requirements:
475
483
  - - ">="
476
484
  - !ruby/object:Gem::Version
477
- version: 2.7.0
485
+ version: 3.1.0
478
486
  required_rubygems_version: !ruby/object:Gem::Requirement
479
487
  requirements:
480
488
  - - ">="
481
489
  - !ruby/object:Gem::Version
482
490
  version: '0'
483
491
  requirements: []
484
- rubygems_version: 3.5.3
485
- signing_key:
492
+ rubygems_version: 3.6.9
486
493
  specification_version: 4
487
494
  summary: Tools for creating, working with, and running Rails applications.
488
495
  test_files: []
@@ -1,40 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "rails/generators"
4
- require "rails/generators/rails/app/app_generator"
5
-
6
- module Rails
7
- class AppUpdater # :nodoc:
8
- class << self
9
- def invoke_from_app_generator(method)
10
- app_generator.send(method)
11
- end
12
-
13
- def app_generator
14
- @app_generator ||= begin
15
- gen = Rails::Generators::AppGenerator.new ["rails"], generator_options, destination_root: Rails.root
16
- gen.send(:valid_const?) unless File.exist?(Rails.root.join("config", "application.rb"))
17
- gen
18
- end
19
- end
20
-
21
- private
22
- def generator_options
23
- options = { api: !!Rails.application.config.api_only, update: true }
24
- options[:name] = Rails.application.class.name.chomp("::Application").underscore
25
- options[:skip_active_job] = !defined?(ActiveJob::Railtie)
26
- options[:skip_active_record] = !defined?(ActiveRecord::Railtie)
27
- options[:skip_active_storage] = !defined?(ActiveStorage::Engine)
28
- options[:skip_action_mailer] = !defined?(ActionMailer::Railtie)
29
- options[:skip_action_mailbox] = !defined?(ActionMailbox::Engine)
30
- options[:skip_action_text] = !defined?(ActionText::Engine)
31
- options[:skip_action_cable] = !defined?(ActionCable::Engine)
32
- options[:skip_test] = !defined?(Rails::TestUnitRailtie)
33
- options[:skip_system_test] = Rails.application.config.generators.system_tests.nil?
34
- options[:skip_asset_pipeline] = !defined?(Sprockets::Railtie) && !defined?(Propshaft::Railtie)
35
- options[:skip_bootsnap] = !defined?(Bootsnap)
36
- options
37
- end
38
- end
39
- end
40
- end
@@ -1,61 +0,0 @@
1
- Description:
2
- ** DEPRECATED **
3
- Rails 5.2 has introduced a new `credentials` API that replaces Rails secrets.
4
- Please use the Rails `credentials` commands instead.
5
- Run `bin/rails credentials:help` for more information.
6
-
7
- The Rails `secrets` commands helps encrypting secrets to slim a production
8
- environment's `ENV` hash. It's also useful for atomic deploys: no need to
9
- coordinate key changes to get everything working as the keys are shipped
10
- with the code.
11
-
12
- Setup:
13
- Run `<%= executable(:setup) %>` to opt in and generate the `config/secrets.yml.key`
14
- and `config/secrets.yml.enc` files.
15
-
16
- The latter contains all the keys to be encrypted while the former holds the
17
- encryption key.
18
-
19
- Don't lose the key! Put it in a password manager your team can access.
20
- Should you lose it no one, including you, will be able to access any encrypted
21
- secrets.
22
- Don't commit the key! Add `config/secrets.yml.key` to your source control's
23
- ignore file. If you use Git, Rails handles this for you.
24
-
25
- Rails also looks for the key in `ENV["RAILS_MASTER_KEY"]` if that's easier to
26
- manage.
27
-
28
- You could prepend that to your server's start command like this:
29
-
30
- RAILS_MASTER_KEY="im-the-master-now-hahaha" bin/rails server
31
-
32
- The `config/secrets.yml.enc` has much the same format as `config/secrets.yml`:
33
-
34
- production:
35
- secret_key_base: so-secret-very-hidden-wow
36
- payment_processing_gateway_key: much-safe-very-gaedwey-wow
37
-
38
- But that's where the similarities between `secrets.yml` and `secrets.yml.enc`
39
- end, e.g. no keys from `secrets.yml` will be moved to `secrets.yml.enc` and
40
- be encrypted.
41
-
42
- A `shared:` top level key is also supported such that any keys there is merged
43
- into the other environments.
44
-
45
- Additionally, Rails won't read encrypted secrets out of the box even if you have
46
- the key. Add this:
47
-
48
- config.read_encrypted_secrets = true
49
-
50
- to the environment you'd like to read encrypted secrets. `<%= executable(:setup) %>`
51
- inserts this into the production environment by default.
52
-
53
- Editing Secrets:
54
- After `<%= executable(:setup) %>`, run `<%= executable(:edit) %>`.
55
-
56
- That command opens a temporary file in `$VISUAL` or `$EDITOR` with the decrypted
57
- contents of `config/secrets.yml.enc` to edit the encrypted secrets.
58
-
59
- When the temporary file is next saved the contents are encrypted and written to
60
- `config/secrets.yml.enc` while the file itself is destroyed to prevent secrets
61
- from leaking.
@@ -1,47 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "active_support"
4
- require "active_support/core_ext/string/filters"
5
- require "rails/secrets"
6
- require "rails/command/helpers/editor"
7
-
8
- module Rails
9
- module Command
10
- class SecretsCommand < Rails::Command::Base # :nodoc:
11
- include Helpers::Editor
12
-
13
- desc "edit", "**deprecated** Open the secrets in `$VISUAL` or `$EDITOR` for editing"
14
- def edit
15
- Rails.deprecator.warn(<<~MSG.squish)
16
- `bin/rails secrets:edit` is deprecated in favor of credentials and will be removed in Rails 7.2.
17
- Run `bin/rails credentials:help` for more information.
18
- MSG
19
-
20
- boot_application!
21
-
22
- using_system_editor do
23
- Rails::Secrets.read_for_editing { |tmp_path| system_editor(tmp_path) }
24
- say "File encrypted and saved."
25
- end
26
- rescue Rails::Secrets::MissingKeyError => error
27
- say error.message
28
- rescue Errno::ENOENT => error
29
- if error.message.include?("secrets.yml.enc")
30
- exit 1
31
- else
32
- raise
33
- end
34
- end
35
-
36
- desc "show", "**deprecated** Show the decrypted secrets"
37
- def show
38
- Rails.deprecator.warn(<<~MSG.squish)
39
- `bin/rails secrets:show` is deprecated in favor of credentials and will be removed in Rails 7.2.
40
- Run `bin/rails credentials:help` for more information.
41
- MSG
42
-
43
- say Rails::Secrets.read
44
- end
45
- end
46
- end
47
- end
@@ -1,68 +0,0 @@
1
- # If you are using mssql, derby, hsqldb, or h2 with one of the
2
- # ActiveRecord JDBC adapters, install the appropriate driver, e.g.,:
3
- # gem install activerecord-jdbcmssql-adapter
4
- #
5
- # Configure using Gemfile:
6
- # gem "activerecord-jdbcmssql-adapter"
7
- #
8
- # development:
9
- # adapter: mssql
10
- # username: <%= app_name %>
11
- # password:
12
- # host: localhost
13
- # database: <%= app_name %>_development
14
- #
15
- # Warning: The database defined as "test" will be erased and
16
- # re-generated from your development database when you run "rake".
17
- # Do not set this db to the same as development or production.
18
- #
19
- # test:
20
- # adapter: mssql
21
- # username: <%= app_name %>
22
- # password:
23
- # host: localhost
24
- # database: <%= app_name %>_test
25
- #
26
- # production:
27
- # adapter: mssql
28
- # username: <%= app_name %>
29
- # password:
30
- # host: localhost
31
- # database: <%= app_name %>_production
32
-
33
- # If you are using oracle, db2, sybase, informix or prefer to use the plain
34
- # JDBC adapter, configure your database setting as the example below (requires
35
- # you to download and manually install the database vendor's JDBC driver .jar
36
- # file). See your driver documentation for the appropriate driver class and
37
- # connection string:
38
-
39
- default: &default
40
- adapter: jdbc
41
- pool: <%%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
42
- username: <%= app_name %>
43
- password:
44
- driver:
45
-
46
- development:
47
- <<: *default
48
- url: jdbc:db://localhost/<%= app_name %>_development
49
-
50
- # Warning: The database defined as "test" will be erased and
51
- # re-generated from your development database when you run "rake".
52
- # Do not set this db to the same as development or production.
53
- test:
54
- <<: *default
55
- url: jdbc:db://localhost/<%= app_name %>_test
56
-
57
- # As with config/credentials.yml, you never want to store sensitive information,
58
- # like your database password, in your source code. If your source code is
59
- # ever seen by anyone, they now have access to your database.
60
- #
61
- # Instead, provide the password as an environment variable when you boot the
62
- # app. Read https://guides.rubyonrails.org/configuring.html#configuring-a-database
63
- # for a full overview on how database connection configuration can be specified.
64
- #
65
- production:
66
- url: jdbc:db://localhost/<%= app_name %>_production
67
- username: <%= app_name %>
68
- password: <%%= ENV["<%= app_name.upcase %>_DATABASE_PASSWORD"] %>
@@ -1,54 +0,0 @@
1
- # MySQL. Versions 5.5.8 and up are supported.
2
- #
3
- # Install the MySQL driver:
4
- # gem install activerecord-jdbcmysql-adapter
5
- #
6
- # Configure Using Gemfile
7
- # gem "activerecord-jdbcmysql-adapter"
8
- #
9
- # And be sure to use new-style password hashing:
10
- # https://dev.mysql.com/doc/refman/5.7/en/password-hashing.html
11
- #
12
- default: &default
13
- adapter: mysql
14
- pool: <%%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
15
- username: root
16
- password:
17
- host: localhost
18
-
19
- development:
20
- <<: *default
21
- database: <%= app_name %>_development
22
-
23
- # Warning: The database defined as "test" will be erased and
24
- # re-generated from your development database when you run "rake".
25
- # Do not set this db to the same as development or production.
26
- test:
27
- <<: *default
28
- database: <%= app_name %>_test
29
-
30
- # As with config/credentials.yml, you never want to store sensitive information,
31
- # like your database password, in your source code. If your source code is
32
- # ever seen by anyone, they now have access to your database.
33
- #
34
- # Instead, provide the password or a full connection URL as an environment
35
- # variable when you boot the app. For example:
36
- #
37
- # DATABASE_URL="mysql://myuser:mypass@localhost/somedatabase"
38
- #
39
- # If the connection URL is provided in the special DATABASE_URL environment
40
- # variable, Rails will automatically merge its configuration values on top of
41
- # the values provided in this file. Alternatively, you can specify a connection
42
- # URL environment variable explicitly:
43
- #
44
- # production:
45
- # url: <%%= ENV["MY_APP_DATABASE_URL"] %>
46
- #
47
- # Read https://guides.rubyonrails.org/configuring.html#configuring-a-database
48
- # for a full overview on how database connection configuration can be specified.
49
- #
50
- production:
51
- <<: *default
52
- database: <%= app_name %>_production
53
- username: <%= app_name %>
54
- password: <%%= ENV["<%= app_name.upcase %>_DATABASE_PASSWORD"] %>