railties 7.2.1.2 → 8.0.0.beta1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +111 -297
- data/lib/minitest/rails_plugin.rb +1 -1
- data/lib/rails/application/configuration.rb +15 -2
- data/lib/rails/application/default_middleware_stack.rb +4 -0
- data/lib/rails/application/finisher.rb +2 -2
- data/lib/rails/application/routes_reloader.rb +11 -1
- data/lib/rails/application.rb +5 -0
- data/lib/rails/code_statistics.rb +128 -86
- data/lib/rails/code_statistics_calculator.rb +78 -76
- data/lib/rails/command/helpers/editor.rb +1 -1
- data/lib/rails/commands/app/update_command.rb +1 -9
- data/lib/rails/commands/credentials/USAGE +4 -4
- data/lib/rails/commands/credentials/credentials_command.rb +5 -1
- data/lib/rails/commands/dev/dev_command.rb +1 -1
- data/lib/rails/commands/devcontainer/devcontainer_command.rb +1 -1
- data/lib/rails/commands/stats/stats_command.rb +19 -0
- data/lib/rails/dev_caching.rb +2 -2
- data/lib/rails/engine/configuration.rb +3 -1
- data/lib/rails/engine/lazy_route_set.rb +109 -0
- data/lib/rails/engine.rb +10 -5
- data/lib/rails/gem_version.rb +4 -4
- data/lib/rails/generators/app_base.rb +46 -24
- data/lib/rails/generators/database.rb +101 -67
- data/lib/rails/generators/erb/authentication/authentication_generator.rb +15 -0
- data/lib/rails/generators/erb/authentication/templates/views/passwords/edit.html.erb +9 -0
- data/lib/rails/generators/erb/authentication/templates/views/passwords/new.html.erb +8 -0
- data/lib/rails/generators/erb/authentication/templates/views/sessions/new.html.erb +11 -0
- data/lib/rails/generators/generated_attribute.rb +16 -11
- data/lib/rails/generators/rails/app/app_generator.rb +19 -32
- data/lib/rails/generators/rails/app/templates/Dockerfile.tt +12 -3
- data/lib/rails/generators/rails/app/templates/Gemfile.tt +23 -8
- data/lib/rails/generators/rails/app/templates/app/assets/stylesheets/application.css.tt +6 -11
- data/lib/rails/generators/rails/app/templates/app/views/layouts/application.html.erb.tt +10 -3
- data/lib/rails/generators/rails/app/templates/bin/dev.tt +1 -0
- data/lib/rails/generators/rails/app/templates/bin/setup.tt +5 -7
- data/lib/rails/generators/rails/app/templates/bin/thrust.tt +4 -0
- data/lib/rails/generators/rails/app/templates/config/databases/mysql.yml.tt +23 -0
- data/lib/rails/generators/rails/app/templates/config/databases/postgresql.yml.tt +23 -0
- data/lib/rails/generators/rails/app/templates/config/databases/sqlite3.yml.tt +40 -0
- data/lib/rails/generators/rails/app/templates/config/databases/trilogy.yml.tt +23 -0
- data/lib/rails/generators/rails/app/templates/config/deploy.yml.tt +124 -0
- data/lib/rails/generators/rails/app/templates/config/environments/development.rb.tt +12 -23
- data/lib/rails/generators/rails/app/templates/config/environments/production.rb.tt +34 -51
- data/lib/rails/generators/rails/app/templates/config/environments/test.rb.tt +5 -19
- data/lib/rails/generators/rails/app/templates/config/initializers/assets.rb.tt +0 -7
- data/lib/rails/generators/rails/app/templates/config/initializers/filter_parameter_logging.rb.tt +1 -1
- data/lib/rails/generators/rails/app/templates/config/initializers/new_framework_defaults_8_0.rb.tt +25 -0
- data/lib/rails/generators/rails/app/templates/config/puma.rb.tt +11 -2
- data/lib/rails/generators/rails/app/templates/config/routes.rb.tt +3 -3
- data/lib/rails/generators/rails/app/templates/docker-entrypoint.tt +4 -3
- data/lib/rails/generators/rails/app/templates/dockerignore.tt +1 -2
- data/lib/rails/generators/rails/app/templates/github/ci.yml.tt +1 -1
- data/lib/rails/generators/rails/app/templates/gitignore.tt +1 -2
- data/lib/rails/generators/rails/app/templates/kamal-secrets.tt +17 -0
- data/lib/rails/generators/rails/app/templates/public/400.html +114 -0
- data/lib/rails/generators/rails/app/templates/public/404.html +113 -66
- data/lib/rails/generators/rails/app/templates/public/406-unsupported-browser.html +113 -65
- data/lib/rails/generators/rails/app/templates/public/422.html +113 -66
- data/lib/rails/generators/rails/app/templates/public/500.html +113 -65
- data/lib/rails/generators/rails/app/templates/public/icon.png +0 -0
- data/lib/rails/generators/rails/app/templates/public/icon.svg +2 -2
- data/lib/rails/generators/rails/authentication/USAGE +6 -0
- data/lib/rails/generators/rails/authentication/authentication_generator.rb +54 -0
- data/lib/rails/generators/rails/authentication/templates/controllers/concerns/authentication.rb +55 -0
- data/lib/rails/generators/rails/authentication/templates/controllers/passwords_controller.rb +33 -0
- data/lib/rails/generators/rails/authentication/templates/controllers/sessions_controller.rb +21 -0
- data/lib/rails/generators/rails/authentication/templates/mailers/passwords_mailer.rb +6 -0
- data/lib/rails/generators/rails/authentication/templates/models/current.rb +4 -0
- data/lib/rails/generators/rails/authentication/templates/models/session.rb +3 -0
- data/lib/rails/generators/rails/authentication/templates/models/user.rb +6 -0
- data/lib/rails/generators/rails/authentication/templates/test/mailers/previews/passwords_mailer_preview.rb +7 -0
- data/lib/rails/generators/rails/authentication/templates/views/passwords_mailer/reset.html.erb +4 -0
- data/lib/rails/generators/rails/authentication/templates/views/passwords_mailer/reset.text.erb +2 -0
- data/lib/rails/generators/rails/credentials/templates/credentials.yml.tt +4 -0
- data/lib/rails/generators/rails/db/system/change/change_generator.rb +1 -1
- data/lib/rails/generators/rails/devcontainer/devcontainer_generator.rb +5 -3
- data/lib/rails/generators/rails/devcontainer/templates/devcontainer/devcontainer.json.tt +1 -1
- data/lib/rails/generators/rails/plugin/plugin_generator.rb +11 -11
- data/lib/rails/generators/rails/plugin/templates/github/ci.yml.tt +1 -1
- data/lib/rails/generators/rails/plugin/templates/test/test_helper.rb.tt +2 -2
- data/lib/rails/generators/rails/scaffold_controller/templates/api_controller.rb.tt +2 -2
- data/lib/rails/generators/rails/scaffold_controller/templates/controller.rb.tt +3 -3
- data/lib/rails/generators/rails/script/USAGE +18 -0
- data/lib/rails/generators/rails/script/script_generator.rb +18 -0
- data/lib/rails/generators/rails/script/templates/script.rb.tt +3 -0
- data/lib/rails/generators.rb +7 -2
- data/lib/rails/info_controller.rb +10 -2
- data/lib/rails/rack/silence_request.rb +33 -0
- data/lib/rails/rack.rb +1 -0
- data/lib/rails/railtie.rb +13 -13
- data/lib/rails/source_annotation_extractor.rb +31 -14
- data/lib/rails/tasks/statistics.rake +13 -28
- data/lib/rails/templates/rails/info/notes.html.erb +65 -0
- metadata +41 -21
- data/lib/rails/generators/rails/app/templates/app/assets/config/manifest.js.tt +0 -2
- data/lib/rails/generators/rails/app/templates/app/channels/application_cable/channel.rb.tt +0 -4
- data/lib/rails/generators/rails/app/templates/app/channels/application_cable/connection.rb.tt +0 -4
- data/lib/rails/generators/rails/app/templates/config/initializers/new_framework_defaults_7_2.rb.tt +0 -70
- data/lib/rails/generators/rails/app/templates/config/initializers/permissions_policy.rb.tt +0 -13
- data/lib/rails/generators/rails/app/templates/test/channels/application_cable/connection_test.rb.tt +0 -13
- data/lib/rails/generators/rails/plugin/templates/rails/dummy_manifest.js.tt +0 -10
- data/lib/rails/generators/rails/plugin/templates/rails/engine_manifest.js.tt +0 -6
- data/lib/rails/generators/rails/plugin/templates/rails/javascripts.js.tt +0 -17
data/lib/rails/generators.rb
CHANGED
@@ -23,7 +23,6 @@ module Rails
|
|
23
23
|
autoload :NamedBase, "rails/generators/named_base"
|
24
24
|
autoload :ResourceHelpers, "rails/generators/resource_helpers"
|
25
25
|
autoload :TestCase, "rails/generators/test_case"
|
26
|
-
autoload :Devcontainer, "rails/generators/devcontainer"
|
27
26
|
|
28
27
|
mattr_accessor :namespace
|
29
28
|
|
@@ -61,6 +60,10 @@ module Rails
|
|
61
60
|
}
|
62
61
|
}
|
63
62
|
|
63
|
+
# We need to store the RAILS_DEV_PATH in a constant, otherwise the path
|
64
|
+
# can change when we FileUtils.cd.
|
65
|
+
RAILS_DEV_PATH = File.expand_path("../../..", __dir__) # :nodoc:
|
66
|
+
|
64
67
|
class << self
|
65
68
|
def configure!(config) # :nodoc:
|
66
69
|
api_only! if config.api_only
|
@@ -152,7 +155,8 @@ module Rails
|
|
152
155
|
"#{template}:scaffold",
|
153
156
|
"#{template}:mailer",
|
154
157
|
"action_text:install",
|
155
|
-
"action_mailbox:install"
|
158
|
+
"action_mailbox:install",
|
159
|
+
"devcontainer"
|
156
160
|
]
|
157
161
|
end
|
158
162
|
end
|
@@ -268,6 +272,7 @@ module Rails
|
|
268
272
|
#{error.detailed_message}
|
269
273
|
Run `bin/rails generate --help` for more options.
|
270
274
|
MSG
|
275
|
+
exit 1
|
271
276
|
end
|
272
277
|
end
|
273
278
|
|
@@ -20,7 +20,7 @@ class Rails::InfoController < Rails::ApplicationController # :nodoc:
|
|
20
20
|
|
21
21
|
def routes
|
22
22
|
if query = params[:query]
|
23
|
-
query = URI::
|
23
|
+
query = URI::RFC2396_PARSER.escape query
|
24
24
|
|
25
25
|
render json: {
|
26
26
|
exact: matching_routes(query: query, exact_match: true),
|
@@ -32,6 +32,14 @@ class Rails::InfoController < Rails::ApplicationController # :nodoc:
|
|
32
32
|
end
|
33
33
|
end
|
34
34
|
|
35
|
+
def notes
|
36
|
+
@annotations = Rails::SourceAnnotationExtractor.new(
|
37
|
+
Rails::SourceAnnotationExtractor::Annotation.tags.join("|")
|
38
|
+
).find(
|
39
|
+
Rails::SourceAnnotationExtractor::Annotation.directories
|
40
|
+
)
|
41
|
+
end
|
42
|
+
|
35
43
|
private
|
36
44
|
def matching_routes(query:, exact_match:)
|
37
45
|
return [] if query.blank?
|
@@ -53,7 +61,7 @@ class Rails::InfoController < Rails::ApplicationController # :nodoc:
|
|
53
61
|
match ||= (query === route_wrapper.verb)
|
54
62
|
|
55
63
|
unless match
|
56
|
-
controller_action = URI::
|
64
|
+
controller_action = URI::RFC2396_PARSER.escape(route_wrapper.reqs)
|
57
65
|
match = exact_match ? (query === controller_action) : controller_action.include?(query)
|
58
66
|
end
|
59
67
|
|
@@ -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
data/lib/rails/railtie.rb
CHANGED
@@ -50,8 +50,8 @@ module Rails
|
|
50
50
|
# To add an initialization step to the \Rails boot process from your railtie, just
|
51
51
|
# define the initialization code with the +initializer+ macro:
|
52
52
|
#
|
53
|
-
# class
|
54
|
-
# initializer "
|
53
|
+
# class MyGem::Railtie < Rails::Railtie
|
54
|
+
# initializer "my_gem.configure_rails_initialization" do
|
55
55
|
# # some initialization behavior
|
56
56
|
# end
|
57
57
|
# end
|
@@ -59,9 +59,9 @@ module Rails
|
|
59
59
|
# If specified, the block can also receive the application object, in case you
|
60
60
|
# need to access some application-specific configuration, like middleware:
|
61
61
|
#
|
62
|
-
# class
|
63
|
-
# initializer "
|
64
|
-
# app.middleware.use
|
62
|
+
# class MyGem::Railtie < Rails::Railtie
|
63
|
+
# initializer "my_gem.configure_rails_initialization" do |app|
|
64
|
+
# app.middleware.use MyGem::Middleware
|
65
65
|
# end
|
66
66
|
# end
|
67
67
|
#
|
@@ -74,14 +74,14 @@ module Rails
|
|
74
74
|
# Railties can access a config object which contains configuration shared by all
|
75
75
|
# railties and the application:
|
76
76
|
#
|
77
|
-
# class
|
77
|
+
# class MyGem::Railtie < Rails::Railtie
|
78
78
|
# # Customize the ORM
|
79
|
-
# config.app_generators.orm :
|
79
|
+
# config.app_generators.orm :my_gem_orm
|
80
80
|
#
|
81
81
|
# # Add a to_prepare block which is executed once in production
|
82
82
|
# # and before each request in development.
|
83
83
|
# config.to_prepare do
|
84
|
-
#
|
84
|
+
# MyGem.setup!
|
85
85
|
# end
|
86
86
|
# end
|
87
87
|
#
|
@@ -90,9 +90,9 @@ module Rails
|
|
90
90
|
# If your railtie has Rake tasks, you can tell \Rails to load them through the method
|
91
91
|
# +rake_tasks+:
|
92
92
|
#
|
93
|
-
# class
|
93
|
+
# class MyGem::Railtie < Rails::Railtie
|
94
94
|
# rake_tasks do
|
95
|
-
# load "path/to/
|
95
|
+
# load "path/to/my_gem.tasks"
|
96
96
|
# end
|
97
97
|
# end
|
98
98
|
#
|
@@ -100,9 +100,9 @@ module Rails
|
|
100
100
|
# your generators at a different location, you can specify in your railtie a block which
|
101
101
|
# will load them during normal generators lookup:
|
102
102
|
#
|
103
|
-
# class
|
103
|
+
# class MyGem::Railtie < Rails::Railtie
|
104
104
|
# generators do
|
105
|
-
# require "path/to/
|
105
|
+
# require "path/to/my_gem_generator"
|
106
106
|
# end
|
107
107
|
# end
|
108
108
|
#
|
@@ -120,7 +120,7 @@ module Rails
|
|
120
120
|
# this less confusing for everyone.
|
121
121
|
# It can be used like this:
|
122
122
|
#
|
123
|
-
# class
|
123
|
+
# class MyGem::Railtie < Rails::Railtie
|
124
124
|
# server do
|
125
125
|
# WebpackServer.start
|
126
126
|
# end
|
@@ -1,6 +1,12 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
|
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
|
-
|
20
|
-
|
25
|
+
if defined?(Prism)
|
26
|
+
def annotations(file)
|
27
|
+
result = Prism.parse_file(file)
|
28
|
+
return [] unless result.success?
|
21
29
|
|
22
|
-
|
23
|
-
|
24
|
-
|
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
|
-
|
29
|
-
|
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
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
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
|
-
|
4
|
-
|
5
|
-
|
6
|
-
STATS_DIRECTORIES
|
7
|
-
|
8
|
-
|
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
|
-
|
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,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: railties
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 8.0.0.beta1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Heinemeier Hansson
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-09-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -16,28 +16,28 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - '='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 8.0.0.beta1
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - '='
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: 8.0.0.beta1
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: actionpack
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - '='
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
33
|
+
version: 8.0.0.beta1
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - '='
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
40
|
+
version: 8.0.0.beta1
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rackup
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -120,14 +120,14 @@ dependencies:
|
|
120
120
|
requirements:
|
121
121
|
- - '='
|
122
122
|
- !ruby/object:Gem::Version
|
123
|
-
version:
|
123
|
+
version: 8.0.0.beta1
|
124
124
|
type: :development
|
125
125
|
prerelease: false
|
126
126
|
version_requirements: !ruby/object:Gem::Requirement
|
127
127
|
requirements:
|
128
128
|
- - '='
|
129
129
|
- !ruby/object:Gem::Version
|
130
|
-
version:
|
130
|
+
version: 8.0.0.beta1
|
131
131
|
description: 'Rails internals: application bootup, plugins, generators, and rake tasks.'
|
132
132
|
email: david@loudthinking.com
|
133
133
|
executables:
|
@@ -200,6 +200,7 @@ files:
|
|
200
200
|
- lib/rails/commands/runner/runner_command.rb
|
201
201
|
- lib/rails/commands/secret/secret_command.rb
|
202
202
|
- lib/rails/commands/server/server_command.rb
|
203
|
+
- lib/rails/commands/stats/stats_command.rb
|
203
204
|
- lib/rails/commands/test/USAGE
|
204
205
|
- lib/rails/commands/test/test_command.rb
|
205
206
|
- lib/rails/commands/unused_routes/unused_routes_command.rb
|
@@ -213,6 +214,7 @@ files:
|
|
213
214
|
- lib/rails/engine.rb
|
214
215
|
- lib/rails/engine/commands.rb
|
215
216
|
- lib/rails/engine/configuration.rb
|
217
|
+
- lib/rails/engine/lazy_route_set.rb
|
216
218
|
- lib/rails/engine/railties.rb
|
217
219
|
- lib/rails/engine/updater.rb
|
218
220
|
- lib/rails/gem_version.rb
|
@@ -225,6 +227,10 @@ files:
|
|
225
227
|
- lib/rails/generators/base.rb
|
226
228
|
- lib/rails/generators/database.rb
|
227
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
|
228
234
|
- lib/rails/generators/erb/controller/controller_generator.rb
|
229
235
|
- lib/rails/generators/erb/controller/templates/view.html.erb.tt
|
230
236
|
- lib/rails/generators/erb/mailer/mailer_generator.rb
|
@@ -249,10 +255,7 @@ files:
|
|
249
255
|
- lib/rails/generators/rails/app/templates/Gemfile.tt
|
250
256
|
- lib/rails/generators/rails/app/templates/README.md.tt
|
251
257
|
- lib/rails/generators/rails/app/templates/Rakefile.tt
|
252
|
-
- lib/rails/generators/rails/app/templates/app/assets/config/manifest.js.tt
|
253
258
|
- lib/rails/generators/rails/app/templates/app/assets/stylesheets/application.css.tt
|
254
|
-
- lib/rails/generators/rails/app/templates/app/channels/application_cable/channel.rb.tt
|
255
|
-
- lib/rails/generators/rails/app/templates/app/channels/application_cable/connection.rb.tt
|
256
259
|
- lib/rails/generators/rails/app/templates/app/controllers/application_controller.rb.tt
|
257
260
|
- lib/rails/generators/rails/app/templates/app/helpers/application_helper.rb.tt
|
258
261
|
- lib/rails/generators/rails/app/templates/app/jobs/application_job.rb.tt
|
@@ -264,10 +267,12 @@ files:
|
|
264
267
|
- lib/rails/generators/rails/app/templates/app/views/pwa/manifest.json.erb.tt
|
265
268
|
- lib/rails/generators/rails/app/templates/app/views/pwa/service-worker.js
|
266
269
|
- lib/rails/generators/rails/app/templates/bin/brakeman.tt
|
270
|
+
- lib/rails/generators/rails/app/templates/bin/dev.tt
|
267
271
|
- lib/rails/generators/rails/app/templates/bin/rails.tt
|
268
272
|
- lib/rails/generators/rails/app/templates/bin/rake.tt
|
269
273
|
- lib/rails/generators/rails/app/templates/bin/rubocop.tt
|
270
274
|
- lib/rails/generators/rails/app/templates/bin/setup.tt
|
275
|
+
- lib/rails/generators/rails/app/templates/bin/thrust.tt
|
271
276
|
- lib/rails/generators/rails/app/templates/config.ru.tt
|
272
277
|
- lib/rails/generators/rails/app/templates/config/application.rb.tt
|
273
278
|
- lib/rails/generators/rails/app/templates/config/boot.rb.tt
|
@@ -276,6 +281,7 @@ files:
|
|
276
281
|
- lib/rails/generators/rails/app/templates/config/databases/postgresql.yml.tt
|
277
282
|
- lib/rails/generators/rails/app/templates/config/databases/sqlite3.yml.tt
|
278
283
|
- lib/rails/generators/rails/app/templates/config/databases/trilogy.yml.tt
|
284
|
+
- lib/rails/generators/rails/app/templates/config/deploy.yml.tt
|
279
285
|
- lib/rails/generators/rails/app/templates/config/environment.rb.tt
|
280
286
|
- lib/rails/generators/rails/app/templates/config/environments/development.rb.tt
|
281
287
|
- lib/rails/generators/rails/app/templates/config/environments/production.rb.tt
|
@@ -285,8 +291,7 @@ files:
|
|
285
291
|
- lib/rails/generators/rails/app/templates/config/initializers/cors.rb.tt
|
286
292
|
- lib/rails/generators/rails/app/templates/config/initializers/filter_parameter_logging.rb.tt
|
287
293
|
- lib/rails/generators/rails/app/templates/config/initializers/inflections.rb.tt
|
288
|
-
- lib/rails/generators/rails/app/templates/config/initializers/
|
289
|
-
- 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
|
290
295
|
- lib/rails/generators/rails/app/templates/config/locales/en.yml
|
291
296
|
- lib/rails/generators/rails/app/templates/config/puma.rb.tt
|
292
297
|
- lib/rails/generators/rails/app/templates/config/routes.rb.tt
|
@@ -298,7 +303,9 @@ files:
|
|
298
303
|
- lib/rails/generators/rails/app/templates/github/ci.yml.tt
|
299
304
|
- lib/rails/generators/rails/app/templates/github/dependabot.yml
|
300
305
|
- lib/rails/generators/rails/app/templates/gitignore.tt
|
306
|
+
- lib/rails/generators/rails/app/templates/kamal-secrets.tt
|
301
307
|
- lib/rails/generators/rails/app/templates/node-version.tt
|
308
|
+
- lib/rails/generators/rails/app/templates/public/400.html
|
302
309
|
- lib/rails/generators/rails/app/templates/public/404.html
|
303
310
|
- lib/rails/generators/rails/app/templates/public/406-unsupported-browser.html
|
304
311
|
- lib/rails/generators/rails/app/templates/public/422.html
|
@@ -309,9 +316,20 @@ files:
|
|
309
316
|
- lib/rails/generators/rails/app/templates/rubocop.yml.tt
|
310
317
|
- lib/rails/generators/rails/app/templates/ruby-version.tt
|
311
318
|
- lib/rails/generators/rails/app/templates/test/application_system_test_case.rb.tt
|
312
|
-
- lib/rails/generators/rails/app/templates/test/channels/application_cable/connection_test.rb.tt
|
313
319
|
- lib/rails/generators/rails/app/templates/test/test_helper.rb.tt
|
314
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
|
315
333
|
- lib/rails/generators/rails/benchmark/USAGE
|
316
334
|
- lib/rails/generators/rails/benchmark/benchmark_generator.rb
|
317
335
|
- lib/rails/generators/rails/benchmark/templates/benchmark.rb.tt
|
@@ -367,9 +385,6 @@ files:
|
|
367
385
|
- lib/rails/generators/rails/plugin/templates/lib/%namespaced_name%/version.rb.tt
|
368
386
|
- lib/rails/generators/rails/plugin/templates/lib/tasks/%namespaced_name%_tasks.rake.tt
|
369
387
|
- lib/rails/generators/rails/plugin/templates/rails/boot.rb.tt
|
370
|
-
- lib/rails/generators/rails/plugin/templates/rails/dummy_manifest.js.tt
|
371
|
-
- lib/rails/generators/rails/plugin/templates/rails/engine_manifest.js.tt
|
372
|
-
- lib/rails/generators/rails/plugin/templates/rails/javascripts.js.tt
|
373
388
|
- lib/rails/generators/rails/plugin/templates/rails/routes.rb.tt
|
374
389
|
- lib/rails/generators/rails/plugin/templates/rails/stylesheets.css
|
375
390
|
- lib/rails/generators/rails/plugin/templates/rubocop.yml.tt
|
@@ -386,6 +401,9 @@ files:
|
|
386
401
|
- lib/rails/generators/rails/scaffold_controller/scaffold_controller_generator.rb
|
387
402
|
- lib/rails/generators/rails/scaffold_controller/templates/api_controller.rb.tt
|
388
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
|
389
407
|
- lib/rails/generators/rails/system_test/USAGE
|
390
408
|
- lib/rails/generators/rails/system_test/system_test_generator.rb
|
391
409
|
- lib/rails/generators/rails/task/USAGE
|
@@ -432,6 +450,7 @@ files:
|
|
432
450
|
- lib/rails/pwa_controller.rb
|
433
451
|
- lib/rails/rack.rb
|
434
452
|
- lib/rails/rack/logger.rb
|
453
|
+
- lib/rails/rack/silence_request.rb
|
435
454
|
- lib/rails/rackup/server.rb
|
436
455
|
- lib/rails/railtie.rb
|
437
456
|
- lib/rails/railtie/configurable.rb
|
@@ -447,6 +466,7 @@ files:
|
|
447
466
|
- lib/rails/tasks/yarn.rake
|
448
467
|
- lib/rails/tasks/zeitwerk.rake
|
449
468
|
- lib/rails/templates/layouts/application.html.erb
|
469
|
+
- lib/rails/templates/rails/info/notes.html.erb
|
450
470
|
- lib/rails/templates/rails/info/properties.html.erb
|
451
471
|
- lib/rails/templates/rails/info/routes.html.erb
|
452
472
|
- lib/rails/templates/rails/mailers/email.html.erb
|
@@ -469,10 +489,10 @@ licenses:
|
|
469
489
|
- MIT
|
470
490
|
metadata:
|
471
491
|
bug_tracker_uri: https://github.com/rails/rails/issues
|
472
|
-
changelog_uri: https://github.com/rails/rails/blob/
|
473
|
-
documentation_uri: https://api.rubyonrails.org/
|
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/
|
474
494
|
mailing_list_uri: https://discuss.rubyonrails.org/c/rubyonrails-talk
|
475
|
-
source_code_uri: https://github.com/rails/rails/tree/
|
495
|
+
source_code_uri: https://github.com/rails/rails/tree/v8.0.0.beta1/railties
|
476
496
|
rubygems_mfa_required: 'true'
|
477
497
|
post_install_message:
|
478
498
|
rdoc_options:
|
@@ -484,7 +504,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
484
504
|
requirements:
|
485
505
|
- - ">="
|
486
506
|
- !ruby/object:Gem::Version
|
487
|
-
version: 3.
|
507
|
+
version: 3.2.0
|
488
508
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
489
509
|
requirements:
|
490
510
|
- - ">="
|