railties 7.2.0.beta3 → 7.2.0
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -9
- data/lib/rails/application/configuration.rb +8 -2
- data/lib/rails/commands/boot/boot_command.rb +14 -0
- data/lib/rails/commands/test/test_command.rb +1 -1
- data/lib/rails/gem_version.rb +1 -1
- data/lib/rails/generators/rails/app/templates/Dockerfile.tt +0 -2
- data/lib/rails/generators/rails/app/templates/bin/setup.tt +1 -1
- data/lib/rails/generators/rails/app/templates/config/puma.rb.tt +0 -21
- data/lib/rails/generators/rails/app/templates/github/ci.yml.tt +1 -1
- data/lib/rails/generators/rails/devcontainer/devcontainer_generator.rb +12 -12
- data/lib/rails/generators/rails/devcontainer/templates/devcontainer/compose.yaml.tt +1 -1
- data/lib/rails/test_unit/runner.rb +11 -6
- metadata +12 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bfbc258d03c709473511d240ffab0b5bbb1b0f439158c768c113054dea8d296a
|
4
|
+
data.tar.gz: 9640e2920bd9ada2cec2f8d684ddcb40f778be9a44dba03be29b5db3fb820b97
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8ab08f5e3bb2fc56427effe82fc71728e4fc0294ac20b74eaebc518a8acf90eed0efab83744a323ea8c5587952097f164b38ffc1d8c95cc6a0e9903f306608f9
|
7
|
+
data.tar.gz: 873c2117ffa487d4d82c956e02935180277dbf9157476e207a2f6f1f92f650f2c534ed956b3437e580e22b32ad4bb7b58fcdd39725cf6f66f2e0512bba2215d9
|
data/CHANGELOG.md
CHANGED
@@ -1,14 +1,9 @@
|
|
1
|
-
## Rails 7.2.0
|
1
|
+
## Rails 7.2.0 (August 09, 2024) ##
|
2
2
|
|
3
|
-
*
|
3
|
+
* The new `bin/rails boot` command boots the application and exits. Supports the
|
4
|
+
standard `-e/--environment` options.
|
4
5
|
|
5
|
-
|
6
|
-
## Rails 7.2.0.beta2 (June 04, 2024) ##
|
7
|
-
|
8
|
-
* No changes.
|
9
|
-
|
10
|
-
|
11
|
-
## Rails 7.2.0.beta1 (May 29, 2024) ##
|
6
|
+
*Xavier Noria*
|
12
7
|
|
13
8
|
* Create a Dev Container Generator that generates a Dev Container setup based on the current configuration
|
14
9
|
of the application. Usage:
|
@@ -500,7 +500,7 @@ module Rails
|
|
500
500
|
|
501
501
|
def secret_key_base
|
502
502
|
@secret_key_base || begin
|
503
|
-
self.secret_key_base = if
|
503
|
+
self.secret_key_base = if generate_local_secret?
|
504
504
|
generate_local_secret
|
505
505
|
else
|
506
506
|
ENV["SECRET_KEY_BASE"] || Rails.application.credentials.secret_key_base
|
@@ -509,7 +509,9 @@ module Rails
|
|
509
509
|
end
|
510
510
|
|
511
511
|
def secret_key_base=(new_secret_key_base)
|
512
|
-
if new_secret_key_base.
|
512
|
+
if new_secret_key_base.nil? && generate_local_secret?
|
513
|
+
@secret_key_base = generate_local_secret
|
514
|
+
elsif new_secret_key_base.is_a?(String) && new_secret_key_base.present?
|
513
515
|
@secret_key_base = new_secret_key_base
|
514
516
|
elsif new_secret_key_base
|
515
517
|
raise ArgumentError, "`secret_key_base` for #{Rails.env} environment must be a type of String`"
|
@@ -635,6 +637,10 @@ module Rails
|
|
635
637
|
|
636
638
|
File.binread(key_file)
|
637
639
|
end
|
640
|
+
|
641
|
+
def generate_local_secret?
|
642
|
+
Rails.env.local? || ENV["SECRET_KEY_BASE_DUMMY"]
|
643
|
+
end
|
638
644
|
end
|
639
645
|
end
|
640
646
|
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "rails/command/environment_argument"
|
4
|
+
|
5
|
+
module Rails
|
6
|
+
module Command
|
7
|
+
class BootCommand < Base # :nodoc:
|
8
|
+
include EnvironmentArgument
|
9
|
+
|
10
|
+
desc "boot", "Boot the application and exit"
|
11
|
+
def perform(*) = boot_application!
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -32,7 +32,7 @@ module Rails
|
|
32
32
|
run_prepare_task if self.args.none?(EXACT_TEST_ARGUMENT_PATTERN)
|
33
33
|
Rails::TestUnit::Runner.run(args)
|
34
34
|
rescue Rails::TestUnit::InvalidTestError => error
|
35
|
-
|
35
|
+
raise ArgumentError, error.message
|
36
36
|
end
|
37
37
|
|
38
38
|
# Define Thor tasks to avoid going through Rake and booting twice when using bin/rails test:*
|
data/lib/rails/gem_version.rb
CHANGED
@@ -4,8 +4,6 @@
|
|
4
4
|
# docker build -t my-app .
|
5
5
|
# docker run -d -p 80:80 -p 443:443 --name my-app -e RAILS_MASTER_KEY=<value from config/master.key> my-app
|
6
6
|
|
7
|
-
# For a containerized dev environment, see Dev Containers: https://guides.rubyonrails.org/getting_started_with_devcontainer.html
|
8
|
-
|
9
7
|
# Make sure RUBY_VERSION matches the Ruby version in .ruby-version
|
10
8
|
ARG RUBY_VERSION=<%= gem_ruby_version %>
|
11
9
|
FROM docker.io/library/ruby:$RUBY_VERSION-slim AS base
|
@@ -23,27 +23,6 @@
|
|
23
23
|
threads_count = ENV.fetch("RAILS_MAX_THREADS", 3)
|
24
24
|
threads threads_count, threads_count
|
25
25
|
|
26
|
-
# Specifies the `environment` that Puma will run in.
|
27
|
-
rails_env = ENV.fetch("RAILS_ENV", "development")
|
28
|
-
environment rails_env
|
29
|
-
|
30
|
-
case rails_env
|
31
|
-
when "production"
|
32
|
-
# If you are running more than 1 thread per process, the workers count
|
33
|
-
# should be equal to the number of processors (CPU cores) in production.
|
34
|
-
#
|
35
|
-
# Automatically detect the number of available processors in production.
|
36
|
-
require "concurrent-ruby"
|
37
|
-
workers_count = Integer(ENV.fetch("WEB_CONCURRENCY") { Concurrent.available_processor_count })
|
38
|
-
workers workers_count if workers_count > 1
|
39
|
-
|
40
|
-
preload_app!
|
41
|
-
when "development"
|
42
|
-
# Specifies a very generous `worker_timeout` so that the worker
|
43
|
-
# isn't killed by Puma when suspended by a debugger.
|
44
|
-
worker_timeout 3600
|
45
|
-
end
|
46
|
-
|
47
26
|
# Specifies the `port` that Puma will listen on to receive requests; default is 3000.
|
48
27
|
port ENV.fetch("PORT", 3000)
|
49
28
|
|
@@ -40,7 +40,7 @@ module Rails
|
|
40
40
|
return unless options[:system_test]
|
41
41
|
return unless File.exist?("test/application_system_test_case.rb")
|
42
42
|
|
43
|
-
gsub_file("test/application_system_test_case.rb",
|
43
|
+
gsub_file("test/application_system_test_case.rb", /^\s*driven_by\b.*/, system_test_configuration)
|
44
44
|
end
|
45
45
|
|
46
46
|
def update_database_yml
|
@@ -148,17 +148,17 @@ module Rails
|
|
148
148
|
end
|
149
149
|
|
150
150
|
def system_test_configuration
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
151
|
+
optimize_indentation(<<-'RUBY', 2)
|
152
|
+
if ENV["CAPYBARA_SERVER_PORT"]
|
153
|
+
served_by host: "rails-app", port: ENV["CAPYBARA_SERVER_PORT"]
|
154
|
+
|
155
|
+
driven_by :selenium, using: :headless_chrome, screen_size: [ 1400, 1400 ], options: {
|
156
|
+
browser: :remote,
|
157
|
+
url: "http://#{ENV["SELENIUM_HOST"]}:4444"
|
158
|
+
}
|
159
|
+
else
|
160
|
+
driven_by :selenium, using: :headless_chrome, screen_size: [ 1400, 1400 ]
|
161
|
+
end
|
162
162
|
RUBY
|
163
163
|
end
|
164
164
|
end
|
@@ -58,15 +58,20 @@ module Rails
|
|
58
58
|
patterns = extract_filters(argv)
|
59
59
|
tests = list_tests(patterns)
|
60
60
|
tests.to_a.each do |path|
|
61
|
-
|
61
|
+
abs_path = File.expand_path(path)
|
62
|
+
require abs_path
|
62
63
|
rescue LoadError => exception
|
63
|
-
|
64
|
-
|
64
|
+
if exception.path == abs_path
|
65
|
+
all_tests = list_tests([default_test_glob])
|
66
|
+
corrections = DidYouMean::SpellChecker.new(dictionary: all_tests).correct(path)
|
65
67
|
|
66
|
-
|
67
|
-
|
68
|
+
if corrections.empty?
|
69
|
+
raise exception
|
70
|
+
end
|
71
|
+
raise InvalidTestError.new(path, DidYouMean::Formatter.message_for(corrections))
|
72
|
+
else
|
73
|
+
raise
|
68
74
|
end
|
69
|
-
raise InvalidTestError.new(path, DidYouMean::Formatter.message_for(corrections))
|
70
75
|
end
|
71
76
|
end
|
72
77
|
|
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: 7.2.0
|
4
|
+
version: 7.2.0
|
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-08-09 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: 7.2.0
|
19
|
+
version: 7.2.0
|
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: 7.2.0
|
26
|
+
version: 7.2.0
|
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: 7.2.0
|
33
|
+
version: 7.2.0
|
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: 7.2.0
|
40
|
+
version: 7.2.0
|
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: 7.2.0
|
123
|
+
version: 7.2.0
|
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: 7.2.0
|
130
|
+
version: 7.2.0
|
131
131
|
description: 'Rails internals: application bootup, plugins, generators, and rake tasks.'
|
132
132
|
email: david@loudthinking.com
|
133
133
|
executables:
|
@@ -170,6 +170,7 @@ files:
|
|
170
170
|
- lib/rails/commands/about/about_command.rb
|
171
171
|
- lib/rails/commands/app/update_command.rb
|
172
172
|
- lib/rails/commands/application/application_command.rb
|
173
|
+
- lib/rails/commands/boot/boot_command.rb
|
173
174
|
- lib/rails/commands/console/console_command.rb
|
174
175
|
- lib/rails/commands/console/irb_console.rb
|
175
176
|
- lib/rails/commands/credentials/USAGE
|
@@ -468,10 +469,10 @@ licenses:
|
|
468
469
|
- MIT
|
469
470
|
metadata:
|
470
471
|
bug_tracker_uri: https://github.com/rails/rails/issues
|
471
|
-
changelog_uri: https://github.com/rails/rails/blob/v7.2.0
|
472
|
-
documentation_uri: https://api.rubyonrails.org/v7.2.0
|
472
|
+
changelog_uri: https://github.com/rails/rails/blob/v7.2.0/railties/CHANGELOG.md
|
473
|
+
documentation_uri: https://api.rubyonrails.org/v7.2.0/
|
473
474
|
mailing_list_uri: https://discuss.rubyonrails.org/c/rubyonrails-talk
|
474
|
-
source_code_uri: https://github.com/rails/rails/tree/v7.2.0
|
475
|
+
source_code_uri: https://github.com/rails/rails/tree/v7.2.0/railties
|
475
476
|
rubygems_mfa_required: 'true'
|
476
477
|
post_install_message:
|
477
478
|
rdoc_options:
|