railties 6.1.6 → 7.0.0.alpha1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +93 -412
- data/MIT-LICENSE +1 -1
- data/RDOC_MAIN.rdoc +16 -16
- data/README.rdoc +0 -1
- data/lib/rails/app_updater.rb +2 -4
- data/lib/rails/application/bootstrap.rb +17 -5
- data/lib/rails/application/configuration.rb +52 -31
- data/lib/rails/application/default_middleware_stack.rb +6 -3
- data/lib/rails/application/finisher.rb +43 -85
- data/lib/rails/application/routes_reloader.rb +8 -0
- data/lib/rails/application.rb +24 -50
- data/lib/rails/application_controller.rb +2 -2
- data/lib/rails/autoloaders/inflector.rb +21 -0
- data/lib/rails/autoloaders.rb +12 -16
- data/lib/rails/code_statistics.rb +2 -2
- data/lib/rails/code_statistics_calculator.rb +10 -1
- data/lib/rails/command/base.rb +26 -12
- data/lib/rails/command/behavior.rb +1 -1
- data/lib/rails/command/environment_argument.rb +1 -1
- data/lib/rails/command.rb +8 -5
- data/lib/rails/commands/credentials/USAGE +4 -2
- data/lib/rails/commands/credentials/credentials_command/diffing.rb +26 -16
- data/lib/rails/commands/credentials/credentials_command.rb +6 -2
- data/lib/rails/commands/dbconsole/dbconsole_command.rb +16 -15
- data/lib/rails/commands/help/USAGE +3 -2
- data/lib/rails/commands/runner/runner_command.rb +3 -2
- data/lib/rails/commands/server/server_command.rb +2 -5
- data/lib/rails/configuration.rb +18 -23
- data/lib/rails/engine/configuration.rb +2 -2
- data/lib/rails/engine.rb +23 -27
- data/lib/rails/gem_version.rb +4 -4
- data/lib/rails/generators/actions/create_migration.rb +2 -4
- data/lib/rails/generators/actions.rb +35 -13
- data/lib/rails/generators/app_base.rb +66 -102
- data/lib/rails/generators/app_name.rb +1 -1
- data/lib/rails/generators/base.rb +9 -13
- data/lib/rails/generators/erb/scaffold/scaffold_generator.rb +2 -0
- data/lib/rails/generators/erb/scaffold/templates/edit.html.erb.tt +8 -4
- data/lib/rails/generators/erb/scaffold/templates/index.html.erb.tt +5 -27
- data/lib/rails/generators/erb/scaffold/templates/new.html.erb.tt +7 -3
- data/lib/rails/generators/erb/scaffold/templates/partial.html.erb.tt +20 -0
- data/lib/rails/generators/erb/scaffold/templates/show.html.erb.tt +7 -16
- data/lib/rails/generators/erb.rb +1 -1
- data/lib/rails/generators/generated_attribute.rb +40 -4
- data/lib/rails/generators/migration.rb +2 -6
- data/lib/rails/generators/model_helpers.rb +1 -1
- data/lib/rails/generators/named_base.rb +1 -1
- data/lib/rails/generators/rails/app/app_generator.rb +44 -88
- data/lib/rails/generators/rails/app/templates/Gemfile.tt +41 -52
- data/lib/rails/generators/rails/app/templates/app/assets/stylesheets/application.css.tt +2 -2
- data/lib/rails/generators/rails/app/templates/app/mailers/application_mailer.rb.tt +2 -2
- data/lib/rails/generators/rails/app/templates/app/models/application_record.rb.tt +1 -1
- data/lib/rails/generators/rails/app/templates/app/views/layouts/application.html.erb.tt +3 -10
- data/lib/rails/generators/rails/app/templates/bin/rails.tt +1 -4
- data/lib/rails/generators/rails/app/templates/bin/rake.tt +0 -3
- data/lib/rails/generators/rails/app/templates/bin/setup.tt +9 -14
- data/lib/rails/generators/rails/app/templates/config/boot.rb.tt +1 -1
- data/lib/rails/generators/rails/app/templates/config/databases/jdbc.yml.tt +2 -2
- data/lib/rails/generators/rails/app/templates/config/databases/jdbcmysql.yml.tt +3 -3
- data/lib/rails/generators/rails/app/templates/config/databases/jdbcpostgresql.yml.tt +3 -3
- data/lib/rails/generators/rails/app/templates/config/databases/jdbcsqlite3.yml.tt +2 -2
- data/lib/rails/generators/rails/app/templates/config/databases/mysql.yml.tt +3 -3
- data/lib/rails/generators/rails/app/templates/config/databases/oracle.yml.tt +2 -2
- data/lib/rails/generators/rails/app/templates/config/databases/postgresql.yml.tt +3 -3
- data/lib/rails/generators/rails/app/templates/config/databases/sqlite3.yml.tt +1 -1
- data/lib/rails/generators/rails/app/templates/config/databases/sqlserver.yml.tt +5 -5
- data/lib/rails/generators/rails/app/templates/config/environments/development.rb.tt +2 -11
- data/lib/rails/generators/rails/app/templates/config/environments/production.rb.tt +9 -15
- data/lib/rails/generators/rails/app/templates/config/environments/test.rb.tt +2 -7
- data/lib/rails/generators/rails/app/templates/config/initializers/assets.rb.tt +1 -5
- data/lib/rails/generators/rails/app/templates/config/initializers/content_security_policy.rb.tt +0 -5
- data/lib/rails/generators/rails/app/templates/config/initializers/cors.rb.tt +2 -2
- data/lib/rails/generators/rails/app/templates/config/initializers/inflections.rb.tt +4 -4
- data/lib/rails/generators/rails/app/templates/config/initializers/new_framework_defaults_7_0.rb.tt +85 -0
- data/lib/rails/generators/rails/app/templates/config/locales/en.yml +3 -3
- data/lib/rails/generators/rails/app/templates/config/puma.rb.tt +1 -1
- data/lib/rails/generators/rails/app/templates/config/routes.rb.tt +3 -0
- data/lib/rails/generators/rails/app/templates/config/storage.yml.tt +5 -5
- data/lib/rails/generators/rails/app/templates/db/seeds.rb.tt +2 -2
- data/lib/rails/generators/rails/app/templates/gitattributes.tt +0 -5
- data/lib/rails/generators/rails/app/templates/gitignore.tt +0 -1
- data/lib/rails/generators/rails/app/templates/test/test_helper.rb.tt +1 -1
- data/lib/rails/generators/rails/controller/controller_generator.rb +1 -2
- data/lib/rails/generators/rails/controller/templates/controller.rb.tt +0 -4
- data/lib/rails/generators/rails/db/system/change/change_generator.rb +1 -1
- data/lib/rails/generators/rails/generator/templates/%file_name%_generator.rb.tt +1 -1
- data/lib/rails/generators/rails/plugin/plugin_generator.rb +40 -15
- data/lib/rails/generators/rails/plugin/templates/%name%.gemspec.tt +4 -2
- data/lib/rails/generators/rails/plugin/templates/Gemfile.tt +9 -9
- data/lib/rails/generators/rails/plugin/templates/README.md.tt +1 -1
- data/lib/rails/generators/rails/plugin/templates/app/mailers/%namespaced_name%/application_mailer.rb.tt +2 -2
- data/lib/rails/generators/rails/plugin/templates/app/models/%namespaced_name%/application_record.rb.tt +1 -1
- data/lib/rails/generators/rails/plugin/templates/app/views/layouts/%namespaced_name%/application.html.erb.tt +0 -3
- data/lib/rails/generators/rails/plugin/templates/bin/rails.tt +4 -4
- data/lib/rails/generators/rails/plugin/templates/gitignore.tt +0 -5
- data/lib/rails/generators/rails/plugin/templates/lib/%namespaced_name%/engine.rb.tt +2 -2
- data/lib/rails/generators/rails/plugin/templates/lib/%namespaced_name%/version.rb.tt +1 -1
- data/lib/rails/generators/rails/plugin/templates/rails/boot.rb.tt +2 -2
- data/lib/rails/generators/rails/plugin/templates/test/test_helper.rb.tt +3 -3
- data/lib/rails/generators/rails/scaffold/scaffold_generator.rb +0 -19
- data/lib/rails/generators/rails/scaffold_controller/templates/api_controller.rb.tt +1 -5
- data/lib/rails/generators/rails/scaffold_controller/templates/controller.rb.tt +6 -10
- data/lib/rails/generators/resource_helpers.rb +2 -2
- data/lib/rails/generators/test_unit/generator/templates/generator_test.rb.tt +1 -1
- data/lib/rails/generators/test_unit/model/templates/fixtures.yml.tt +2 -2
- data/lib/rails/generators/test_unit/scaffold/scaffold_generator.rb +3 -3
- data/lib/rails/generators/test_unit/scaffold/templates/api_functional_test.rb.tt +5 -5
- data/lib/rails/generators/test_unit/scaffold/templates/functional_test.rb.tt +2 -2
- data/lib/rails/generators/test_unit/scaffold/templates/system_test.rb.tt +3 -3
- data/lib/rails/generators/testing/behaviour.rb +1 -2
- data/lib/rails/generators.rb +9 -22
- data/lib/rails/info.rb +1 -1
- data/lib/rails/info_controller.rb +1 -3
- data/lib/rails/initializable.rb +1 -1
- data/lib/rails/mailers_controller.rb +2 -4
- data/lib/rails/rack/logger.rb +0 -1
- data/lib/rails/railtie/configuration.rb +1 -2
- data/lib/rails/railtie.rb +9 -9
- data/lib/rails/ruby_version_check.rb +3 -3
- data/lib/rails/tasks/framework.rake +2 -8
- data/lib/rails/tasks/statistics.rake +3 -1
- data/lib/rails/tasks/tmp.rake +8 -1
- data/lib/rails/tasks/yarn.rake +5 -1
- data/lib/rails/tasks/zeitwerk.rake +2 -10
- data/lib/rails/templates/layouts/application.html.erb +15 -0
- data/lib/rails/templates/rails/mailers/email.html.erb +12 -10
- data/lib/rails/templates/rails/welcome/index.html.erb +3 -0
- data/lib/rails/test_unit/railtie.rb +0 -4
- data/lib/rails/test_unit/runner.rb +7 -5
- data/lib/rails/test_unit/testing.rake +4 -9
- data/lib/rails.rb +1 -0
- metadata +37 -40
- data/lib/rails/.DS_Store +0 -0
- data/lib/rails/command/spellchecker.rb +0 -57
- data/lib/rails/generators/css/assets/assets_generator.rb +0 -15
- data/lib/rails/generators/css/assets/templates/stylesheet.css +0 -4
- data/lib/rails/generators/css/scaffold/scaffold_generator.rb +0 -18
- data/lib/rails/generators/rails/app/templates/app/javascript/channels/consumer.js +0 -6
- data/lib/rails/generators/rails/app/templates/app/javascript/channels/index.js +0 -5
- data/lib/rails/generators/rails/app/templates/app/javascript/packs/application.js.tt +0 -23
- data/lib/rails/generators/rails/app/templates/bin/spring.tt +0 -13
- data/lib/rails/generators/rails/app/templates/bin/yarn.tt +0 -16
- data/lib/rails/generators/rails/app/templates/config/initializers/application_controller_renderer.rb.tt +0 -8
- data/lib/rails/generators/rails/app/templates/config/initializers/cookies_serializer.rb.tt +0 -5
- data/lib/rails/generators/rails/app/templates/config/initializers/new_framework_defaults_6_1.rb.tt +0 -67
- data/lib/rails/generators/rails/app/templates/config/spring.rb.tt +0 -6
- data/lib/rails/generators/rails/app/templates/package.json.tt +0 -11
- data/lib/rails/generators/rails/assets/USAGE +0 -16
- data/lib/rails/generators/rails/assets/assets_generator.rb +0 -26
- data/lib/rails/generators/rails/assets/templates/stylesheet.css +0 -4
- data/lib/rails/generators/rails/scaffold/templates/scaffold.css +0 -80
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 809add07149bc6a8fc6bd9e1848b4237e6a39642319d686c0e5e7c1ff005a0fe
|
4
|
+
data.tar.gz: 3676fc831492d4e660fe82b657b25630373e1176d5dfc0d6375857aa0de0d0cd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 136de74c284cec25a993107e665b70f0732116b770c0ca3081b2b9f6a2366046d318d0153da438b557485aadb18ab0850c7135c20ef662154418e1690a0f8788
|
7
|
+
data.tar.gz: a6ad192510bd25f054e931fcbb7ef7fa3c34cbc90a9445d7b8ca173c9c2f58b5ffd40e33b10ddb27d7cdf5cf026ebb5e2a9cd7e6637804d291e922310fc795c8
|
data/CHANGELOG.md
CHANGED
@@ -1,484 +1,165 @@
|
|
1
|
-
## Rails
|
1
|
+
## Rails 7.0.0.alpha1 (September 15, 2021) ##
|
2
2
|
|
3
|
-
*
|
3
|
+
* New and upgraded Rails apps no longer generate `config/initializers/application_controller_renderer.rb`
|
4
|
+
or `config/initializers/cookies_serializer.rb`
|
4
5
|
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
* In `zeitwerk` mode, setup the `once` autoloader first, and the `main` autoloader after it.
|
9
|
-
This order plays better with shared namespaces.
|
10
|
-
|
11
|
-
*Xavier Noria*
|
12
|
-
|
13
|
-
* Handle paths with spaces when editing credentials.
|
6
|
+
The default value for `cookies_serializer` (`:json`) has been moved to `config.load_defaults("7.0")`.
|
7
|
+
The new framework defaults file sets the serializer to `:marshal`.
|
14
8
|
|
15
9
|
*Alex Ghiculescu*
|
16
10
|
|
17
|
-
*
|
18
|
-
|
19
|
-
*Nat Morcos*
|
20
|
-
|
21
|
-
|
22
|
-
## Rails 6.1.4.7 (March 08, 2022) ##
|
23
|
-
|
24
|
-
* No changes.
|
25
|
-
|
26
|
-
|
27
|
-
## Rails 6.1.4.6 (February 11, 2022) ##
|
28
|
-
|
29
|
-
* No changes.
|
30
|
-
|
31
|
-
|
32
|
-
## Rails 6.1.4.5 (February 11, 2022) ##
|
33
|
-
|
34
|
-
* No changes.
|
35
|
-
|
36
|
-
|
37
|
-
## Rails 6.1.4.4 (December 15, 2021) ##
|
38
|
-
|
39
|
-
* No changes.
|
40
|
-
|
41
|
-
|
42
|
-
## Rails 6.1.4.3 (December 14, 2021) ##
|
43
|
-
|
44
|
-
* Allow localhost with a port by default in development
|
45
|
-
|
46
|
-
[Fixes: #43864]
|
47
|
-
|
48
|
-
## Rails 6.1.4.2 (December 14, 2021) ##
|
49
|
-
|
50
|
-
* No changes.
|
51
|
-
|
52
|
-
|
53
|
-
## Rails 6.1.4.1 (August 19, 2021) ##
|
54
|
-
|
55
|
-
* No changes.
|
56
|
-
|
57
|
-
|
58
|
-
## Rails 6.1.4 (June 24, 2021) ##
|
59
|
-
|
60
|
-
* Fix compatibility with `psych >= 4`.
|
61
|
-
|
62
|
-
Starting in Psych 4.0.0 `YAML.load` behaves like `YAML.safe_load`. To preserve compatibility
|
63
|
-
`Rails.application.config_for` now uses `YAML.unsafe_load` if available.
|
64
|
-
|
65
|
-
*Jean Boussier*
|
66
|
-
|
67
|
-
* Ensure `Rails.application.config_for` always cast hashes to `ActiveSupport::OrderedOptions`.
|
68
|
-
|
69
|
-
*Jean Boussier*
|
70
|
-
|
71
|
-
* Fix create migration generator with `--pretend` option.
|
72
|
-
|
73
|
-
*euxx*
|
74
|
-
|
75
|
-
|
76
|
-
## Rails 6.1.3.2 (May 05, 2021) ##
|
77
|
-
|
78
|
-
* No changes.
|
79
|
-
|
80
|
-
|
81
|
-
## Rails 6.1.3.1 (March 26, 2021) ##
|
82
|
-
|
83
|
-
* No changes.
|
84
|
-
|
85
|
-
|
86
|
-
## Rails 6.1.3 (February 17, 2021) ##
|
87
|
-
|
88
|
-
* No changes.
|
89
|
-
|
90
|
-
|
91
|
-
## Rails 6.1.2.1 (February 10, 2021) ##
|
92
|
-
|
93
|
-
* No changes.
|
94
|
-
|
95
|
-
|
96
|
-
## Rails 6.1.2 (February 09, 2021) ##
|
97
|
-
|
98
|
-
* No changes.
|
99
|
-
|
100
|
-
|
101
|
-
## Rails 6.1.1 (January 07, 2021) ##
|
102
|
-
|
103
|
-
* Allow spaces in path to Yarn binstub and only run on precompile if needed.
|
104
|
-
|
105
|
-
*Markus Doits*
|
106
|
-
|
107
|
-
* Populate ARGV for app template.
|
108
|
-
|
109
|
-
Fixes #40945.
|
110
|
-
|
111
|
-
*Jonathan Hefner*
|
112
|
-
|
113
|
-
|
114
|
-
## Rails 6.1.0 (December 09, 2020) ##
|
115
|
-
|
116
|
-
* Added `Railtie#server` hook called when Rails starts a server.
|
117
|
-
This is useful in case your application or a library needs to run
|
118
|
-
another process next to the Rails server. This is quite common in development
|
119
|
-
for instance to run the Webpack or the React server.
|
120
|
-
|
121
|
-
It can be used like this:
|
122
|
-
|
123
|
-
```ruby
|
124
|
-
class MyRailtie < Rails::Railtie
|
125
|
-
server do
|
126
|
-
WebpackServer.run
|
127
|
-
end
|
128
|
-
end
|
129
|
-
```
|
130
|
-
|
131
|
-
*Edouard Chin*
|
132
|
-
|
133
|
-
* Remove deprecated `rake dev:cache` tasks.
|
134
|
-
|
135
|
-
*Rafael Mendonça França*
|
136
|
-
|
137
|
-
* Remove deprecated `rake routes` tasks.
|
138
|
-
|
139
|
-
*Rafael Mendonça França*
|
140
|
-
|
141
|
-
* Remove deprecated `rake initializers` tasks.
|
142
|
-
|
143
|
-
*Rafael Mendonça França*
|
144
|
-
|
145
|
-
* Remove deprecated support for using the `HOST` environment variable to specify the server IP.
|
146
|
-
|
147
|
-
*Rafael Mendonça França*
|
148
|
-
|
149
|
-
* Remove deprecated `server` argument from the rails server command.
|
150
|
-
|
151
|
-
*Rafael Mendonça França*
|
152
|
-
|
153
|
-
* Remove deprecated `SOURCE_ANNOTATION_DIRECTORIES` environment variable support from `rails notes`.
|
154
|
-
|
155
|
-
*Rafael Mendonça França*
|
156
|
-
|
157
|
-
* Remove deprecated `connection` option in the `rails dbconsole` command.
|
158
|
-
|
159
|
-
*Rafael Mendonça França*
|
160
|
-
|
161
|
-
* Remove depreated `rake notes` tasks.
|
162
|
-
|
163
|
-
*Rafael Mendonça França*
|
164
|
-
|
165
|
-
* Return a 405 Method Not Allowed response when a request uses an unknown HTTP method.
|
166
|
-
|
167
|
-
Fixes #38998.
|
168
|
-
|
169
|
-
*Loren Norman*
|
170
|
-
|
171
|
-
* Make railsrc file location xdg-specification compliant
|
172
|
-
|
173
|
-
`rails new` will now look for the default `railsrc` file at
|
174
|
-
`$XDG_CONFIG_HOME/rails/railsrc` (or `~/.config/rails/railsrc` if
|
175
|
-
`XDG_CONFIG_HOME` is not set). If this file does not exist, `rails new`
|
176
|
-
will fall back to `~/.railsrc`.
|
177
|
-
|
178
|
-
The fallback behaviour means this does not cause any breaking changes.
|
179
|
-
|
180
|
-
*Nick Wolf*
|
181
|
-
|
182
|
-
* Change the default logging level from :debug to :info to avoid inadvertent exposure of personally
|
183
|
-
identifiable information (PII) in production environments.
|
184
|
-
|
185
|
-
*Eric M. Payne*
|
186
|
-
|
187
|
-
* Automatically generate abstract class when using multiple databases.
|
188
|
-
|
189
|
-
When generating a scaffold for a multiple database application, Rails will now automatically generate the abstract class for the database when the database argument is passed. This abstract class will include the connection information for the writing configuration and any models generated for that database will automatically inherit from the abstract class.
|
190
|
-
|
191
|
-
Usage:
|
192
|
-
|
193
|
-
```bash
|
194
|
-
$ bin/rails generate scaffold Pet name:string --database=animals
|
195
|
-
```
|
196
|
-
|
197
|
-
Will create an abstract class for the animals connection.
|
198
|
-
|
199
|
-
```ruby
|
200
|
-
class AnimalsRecord < ApplicationRecord
|
201
|
-
self.abstract_class = true
|
202
|
-
|
203
|
-
connects_to database: { writing: :animals }
|
204
|
-
end
|
205
|
-
```
|
206
|
-
|
207
|
-
And generate a `Pet` model that inherits from the new `AnimalsRecord`:
|
208
|
-
|
209
|
-
```ruby
|
210
|
-
class Pet < AnimalsRecord
|
211
|
-
end
|
212
|
-
```
|
213
|
-
|
214
|
-
If you already have an abstract class and it follows a different pattern than Rails defaults, you can pass a parent class with the database argument.
|
215
|
-
|
216
|
-
```bash
|
217
|
-
$ bin/rails generate scaffold Pet name:string --database=animals --parent=SecondaryBase
|
218
|
-
```
|
219
|
-
|
220
|
-
This will ensure the model inherits from the `SecondaryBase` parent instead of `AnimalsRecord`
|
221
|
-
|
222
|
-
```ruby
|
223
|
-
class Pet < SecondaryBase
|
224
|
-
end
|
225
|
-
```
|
226
|
-
|
227
|
-
*Eileen M. Uchitelle*, *John Crepezzi*
|
228
|
-
|
229
|
-
* Accept params from url to prepopulate the Inbound Emails form in Rails conductor.
|
230
|
-
|
231
|
-
*Chris Oliver*
|
232
|
-
|
233
|
-
* Create a new rails app using a minimal stack.
|
234
|
-
|
235
|
-
`rails new cool_app --minimal`
|
236
|
-
|
237
|
-
All the following are excluded from your minimal stack:
|
238
|
-
|
239
|
-
- action_cable
|
240
|
-
- action_mailbox
|
241
|
-
- action_mailer
|
242
|
-
- action_text
|
243
|
-
- active_job
|
244
|
-
- active_storage
|
245
|
-
- bootsnap
|
246
|
-
- jbuilder
|
247
|
-
- spring
|
248
|
-
- system_tests
|
249
|
-
- turbolinks
|
250
|
-
- webpack
|
251
|
-
|
252
|
-
*Haroon Ahmed*, *DHH*
|
253
|
-
|
254
|
-
* Add default ENV variable option with BACKTRACE to turn off backtrace cleaning when debugging framework code in the
|
255
|
-
generated config/initializers/backtrace_silencers.rb.
|
256
|
-
|
257
|
-
`BACKTRACE=1 ./bin/rails runner "MyClass.perform"`
|
258
|
-
|
259
|
-
*DHH*
|
260
|
-
|
261
|
-
* The autoloading guide for Zeitwerk mode documents how to autoload classes
|
262
|
-
during application boot in a safe way.
|
263
|
-
|
264
|
-
*Haroon Ahmed*, *Xavier Noria*
|
265
|
-
|
266
|
-
* The `classic` autoloader starts its deprecation cycle.
|
267
|
-
|
268
|
-
New Rails projects are strongly discouraged from using `classic`, and we recommend that existing projects running on `classic` switch to `zeitwerk` mode when upgrading. Please check the [_Upgrading Ruby on Rails_](https://guides.rubyonrails.org/upgrading_ruby_on_rails.html) guide for tips.
|
11
|
+
* New applications get a dependency on the new `debug` gem, replacing `byebug`.
|
269
12
|
|
270
13
|
*Xavier Noria*
|
271
14
|
|
272
|
-
*
|
273
|
-
|
274
|
-
This runs all test files in the test directory, including system tests.
|
275
|
-
|
276
|
-
*Niklas Häusele*
|
277
|
-
|
278
|
-
* Add `config.generators.after_generate` for processing to generated files.
|
279
|
-
|
280
|
-
Register a callback that will get called right after generators has finished.
|
281
|
-
|
282
|
-
*Yuji Yaginuma*
|
283
|
-
|
284
|
-
* Make test file patterns configurable via Environment variables
|
285
|
-
|
286
|
-
This makes test file patterns configurable via two environment variables:
|
287
|
-
`DEFAULT_TEST`, to configure files to test, and `DEFAULT_TEST_EXCLUDE`,
|
288
|
-
to configure files to exclude from testing.
|
289
|
-
|
290
|
-
These values were hardcoded before, which made it difficult to add
|
291
|
-
new categories of tests that should not be executed by default (e.g:
|
292
|
-
smoke tests).
|
293
|
-
|
294
|
-
*Jorge Manrubia*
|
15
|
+
* Add SSL support for postgresql in `bin/rails dbconsole`.
|
295
16
|
|
296
|
-
|
17
|
+
Fixes #43114.
|
297
18
|
|
298
|
-
|
19
|
+
*Michael Bayucot*
|
299
20
|
|
300
|
-
|
21
|
+
* Add support for comments above gem declaration in Rails application templates, e.g. `gem("nokogiri", comment: "For XML")`.
|
301
22
|
|
302
|
-
*
|
23
|
+
*Linas Juškevičius*
|
303
24
|
|
304
|
-
|
25
|
+
* The setter `config.autoloader=` has been deleted. `zeitwerk` is the only
|
26
|
+
available autoloading mode.
|
305
27
|
|
306
|
-
*
|
307
|
-
|
308
|
-
`rack-mini-profiler` displays performance information such as SQL time and flame graphs.
|
309
|
-
It's enabled by default in development environment, but can be enabled in production as well.
|
310
|
-
See the gem [README](https://github.com/MiniProfiler/rack-mini-profiler/blob/master/README.md) for information on how to enable it in production.
|
311
|
-
|
312
|
-
*Osama Sayegh*
|
313
|
-
|
314
|
-
* `rails stats` will now count TypeScript files toward JavaScript stats.
|
315
|
-
|
316
|
-
*Joshua Cody*
|
317
|
-
|
318
|
-
* Run `git init` when generating plugins.
|
28
|
+
*Xavier Noria*
|
319
29
|
|
320
|
-
|
30
|
+
* `config.autoload_once_paths` can be configured in the body of the
|
31
|
+
application class defined in `config/application.rb` or in the configuration
|
32
|
+
for environments in `config/environments/*`.
|
321
33
|
|
322
|
-
|
34
|
+
Similarly, engines can configure that collection in the class body of the
|
35
|
+
engine class or in the configuration for environments.
|
323
36
|
|
324
|
-
|
37
|
+
After that, the collection is frozen, and you can autoload from those paths.
|
38
|
+
They are managed by the `Rails.autoloaders.once` autoloader, which does not
|
39
|
+
reload, only autoloads/eager loads.
|
325
40
|
|
326
|
-
|
41
|
+
*Xavier Noria*
|
327
42
|
|
328
|
-
|
43
|
+
* During initialization, you cannot autoload reloadable classes or modules
|
44
|
+
like application models, unless they are wrapped in a `to_prepare` block.
|
45
|
+
For example, from `config/initializers/*`, or in application, engines, or
|
46
|
+
railties initializers.
|
329
47
|
|
330
|
-
|
331
|
-
|
48
|
+
Please check the [autoloading
|
49
|
+
guide](https://guides.rubyonrails.org/v7.0/autoloading_and_reloading_constants.html#autoloading-when-the-application-boots)
|
50
|
+
for details.
|
332
51
|
|
333
|
-
|
334
|
-
`ruby script/benchmarks/opt_compare.rb`
|
52
|
+
*Xavier Noria*
|
335
53
|
|
336
|
-
|
54
|
+
* While they are allowed to have elements in common, it is no longer required
|
55
|
+
that `config.autoload_once_paths` is a subset of `config.autoload_paths`.
|
56
|
+
The former are managed by the `once` autoloader. The `main` autoloader
|
57
|
+
manages the latter minus the former.
|
337
58
|
|
338
|
-
*
|
59
|
+
*Xavier Noria*
|
339
60
|
|
340
|
-
|
341
|
-
disabled in `environments/test.rb`. This implicitly disables caching
|
342
|
-
view templates too. This change will enable view template caching by
|
343
|
-
adding this to the generated `environments/test.rb`:
|
61
|
+
* Show Rake task description if command is run with `-h`.
|
344
62
|
|
345
|
-
|
346
|
-
|
347
|
-
```
|
63
|
+
Adding `-h` (or `--help`) to a Rails command that's a Rake task now outputs
|
64
|
+
the task description instead of the general Rake help.
|
348
65
|
|
349
|
-
*
|
66
|
+
*Petrik de Heus*
|
350
67
|
|
351
|
-
*
|
68
|
+
* Add missing `plugin new` command to help.
|
352
69
|
|
353
|
-
|
354
|
-
move it from one place to another in the stack:
|
70
|
+
*Petrik de Heus
|
355
71
|
|
356
|
-
|
357
|
-
config.middleware.move_before ActionDispatch::Flash, Magical::Unicorns
|
358
|
-
```
|
72
|
+
* Fix `config_for` error when there's only a shared root array.
|
359
73
|
|
360
|
-
|
361
|
-
`ActionDispatch::Flash`. You can also move it after with:
|
74
|
+
*Loïc Delmaire*
|
362
75
|
|
363
|
-
|
364
|
-
config.middleware.move_after ActionDispatch::Flash, Magical::Unicorns
|
365
|
-
```
|
76
|
+
* Raise an error in generators if an index type is invalid.
|
366
77
|
|
367
|
-
*
|
78
|
+
*Petrik de Heus*
|
368
79
|
|
369
|
-
*
|
80
|
+
* `package.json` now uses a strict version constraint for Rails JavaScript packages on new Rails apps.
|
370
81
|
|
371
|
-
*
|
82
|
+
*Zachary Scott*, *Alex Ghiculescu*
|
372
83
|
|
373
|
-
*
|
84
|
+
* Modified scaffold generator template so that running
|
85
|
+
`rails g scaffold Author` no longer generates tests called "creating
|
86
|
+
a Author", "updating a Author", and "destroying a Author".
|
374
87
|
|
375
|
-
|
88
|
+
Fixes #40744.
|
376
89
|
|
377
|
-
|
90
|
+
*Michael Duchemin*
|
378
91
|
|
379
|
-
|
92
|
+
* Raise an error in generators if a field type is invalid.
|
380
93
|
|
381
|
-
*
|
94
|
+
*Petrik de Heus*
|
382
95
|
|
383
|
-
|
96
|
+
* `bin/rails tmp:clear` deletes also files and directories in `tmp/storage`.
|
384
97
|
|
385
|
-
|
386
|
-
config.generators do |g|
|
387
|
-
g.orm :active_record, primary_key_type: :uuid
|
388
|
-
end
|
389
|
-
```
|
98
|
+
*George Claghorn*
|
390
99
|
|
391
|
-
|
100
|
+
* Fix compatibility with `psych >= 4`.
|
392
101
|
|
393
|
-
|
394
|
-
|
395
|
-
```
|
102
|
+
Starting in Psych 4.0.0 `YAML.load` behaves like `YAML.safe_load`. To preserve compatibility
|
103
|
+
`Rails.application.config_for` now uses `YAML.unsafe_load` if available.
|
396
104
|
|
397
|
-
|
398
|
-
This change causes the type to be applied appropriately.
|
105
|
+
*Jean Boussier*
|
399
106
|
|
400
|
-
|
107
|
+
* Allow loading nested locales in engines.
|
401
108
|
|
402
|
-
*
|
109
|
+
*Gannon McGibbon*
|
403
110
|
|
404
|
-
|
111
|
+
* Ensure `Rails.application.config_for` always cast hashes to `ActiveSupport::OrderedOptions`.
|
405
112
|
|
406
|
-
*
|
113
|
+
*Jean Boussier*
|
407
114
|
|
408
|
-
* `
|
115
|
+
* Remove `Rack::Runtime` from the default middleware stack and deprecate
|
116
|
+
referencing it in middleware operations without adding it back.
|
409
117
|
|
410
|
-
|
411
|
-
# config/example.yml
|
412
|
-
shared:
|
413
|
-
foo:
|
414
|
-
bar:
|
415
|
-
baz: 1
|
416
|
-
development:
|
417
|
-
foo:
|
418
|
-
bar:
|
419
|
-
qux: 2
|
420
|
-
```
|
118
|
+
*Hartley McGuire*
|
421
119
|
|
422
|
-
|
423
|
-
# Previously
|
424
|
-
Rails.application.config_for(:example)[:foo][:bar] #=> { qux: 2 }
|
120
|
+
* Allow adding additional authorized hosts in development via `ENV['RAILS_DEVELOPMENT_HOSTS']`.
|
425
121
|
|
426
|
-
|
427
|
-
Rails.application.config_for(:example)[:foo][:bar] #=> { baz: 1, qux: 2 }
|
428
|
-
```
|
122
|
+
*Josh Abernathy*, *Debbie Milburn*
|
429
123
|
|
430
|
-
|
124
|
+
* Add app concern and test keepfiles to generated engine plugins.
|
431
125
|
|
432
|
-
*
|
126
|
+
*Gannon McGibbon*
|
433
127
|
|
434
|
-
|
435
|
-
# config/example.yml
|
436
|
-
development:
|
437
|
-
options:
|
438
|
-
key: value
|
439
|
-
```
|
128
|
+
* Stop generating a license for in-app plugins.
|
440
129
|
|
441
|
-
|
442
|
-
Rails.application.config_for(:example).options
|
443
|
-
```
|
130
|
+
*Gannon McGibbon*
|
444
131
|
|
445
|
-
|
132
|
+
* `rails app:update` no longer prompts you to overwrite files that are generally modified in the
|
133
|
+
course of developing a Rails app. See [#41083](https://github.com/rails/rails/pull/41083) for
|
134
|
+
the full list of changes.
|
446
135
|
|
447
|
-
|
136
|
+
*Alex Ghiculescu*
|
448
137
|
|
449
|
-
*
|
450
|
-
now able to modify `autoload_paths`, `autoload_once_paths`, and
|
451
|
-
`eager_load_paths`.
|
138
|
+
* Change default branch for new Rails projects and plugins to `main`.
|
452
139
|
|
453
|
-
|
140
|
+
*Prateek Choudhary*
|
454
141
|
|
455
|
-
|
142
|
+
* The new method `Rails.benchmark` gives you a quick way to measure and log the execution time taken by a block:
|
456
143
|
|
457
|
-
|
144
|
+
def test_expensive_stuff
|
145
|
+
Rails.benchmark("test_expensive_stuff") { ... }
|
146
|
+
end
|
458
147
|
|
459
|
-
|
460
|
-
# In config/application.rb, for example.
|
461
|
-
require "#{Rails.root}/lib/my_app/config"
|
148
|
+
This functionality was available in some contexts only before.
|
462
149
|
|
463
|
-
|
464
|
-
config.foo = MyApp::Config.foo
|
465
|
-
```
|
150
|
+
*Simon Perepelitsa*
|
466
151
|
|
467
|
-
|
152
|
+
* Applications generated with `--skip-sprockets` no longer get `app/assets/config/manifest.js` and `app/assets/stylesheets/application.css`.
|
468
153
|
|
469
|
-
|
470
|
-
config.to_prepare do
|
471
|
-
config.foo = MyModel.foo
|
472
|
-
end
|
473
|
-
```
|
154
|
+
*Cindy Gao*
|
474
155
|
|
475
|
-
|
156
|
+
* Add support for stylesheets and ERB views to `rails stats`.
|
476
157
|
|
477
|
-
*
|
158
|
+
*Joel Hawksley*
|
478
159
|
|
479
|
-
*
|
160
|
+
* Allow appended root routes to take precedence over internal welcome controller.
|
480
161
|
|
481
|
-
*
|
162
|
+
*Gannon McGibbon*
|
482
163
|
|
483
164
|
|
484
|
-
Please check [6-
|
165
|
+
Please check [6-1-stable](https://github.com/rails/rails/blob/6-1-stable/railties/CHANGELOG.md) for previous changes.
|
data/MIT-LICENSE
CHANGED
data/RDOC_MAIN.rdoc
CHANGED
@@ -15,21 +15,21 @@ application into three layers: Model, View, and Controller, each with a specific
|
|
15
15
|
The <em><b>Model layer</b></em> represents the domain model (such as Account, Product,
|
16
16
|
Person, Post, etc.) and encapsulates the business logic specific to
|
17
17
|
your application. In \Rails, database-backed model classes are derived from
|
18
|
-
<tt>ActiveRecord::Base</tt>. {Active Record}[link
|
18
|
+
<tt>ActiveRecord::Base</tt>. {Active Record}[link:/files/activerecord/README_rdoc.html] allows you to present the data from
|
19
19
|
database rows as objects and embellish these data objects with business logic
|
20
20
|
methods. Although most \Rails models are backed by a database, models can also be ordinary
|
21
21
|
Ruby classes, or Ruby classes that implement a set of interfaces as provided by
|
22
|
-
the {Active Model}[link
|
22
|
+
the {Active Model}[link:/files/activemodel/README_rdoc.html] module.
|
23
23
|
|
24
24
|
== Controller layer
|
25
25
|
|
26
26
|
The <em><b>Controller layer</b></em> is responsible for handling incoming HTTP requests and
|
27
|
-
providing a suitable response. Usually this means returning \HTML, but \Rails controllers
|
27
|
+
providing a suitable response. Usually, this means returning \HTML, but \Rails controllers
|
28
28
|
can also generate XML, JSON, PDFs, mobile-specific views, and more. Controllers load and
|
29
|
-
manipulate models
|
29
|
+
manipulate models and render view templates in order to generate the appropriate HTTP response.
|
30
30
|
In \Rails, incoming requests are routed by Action Dispatch to an appropriate controller, and
|
31
31
|
controller classes are derived from <tt>ActionController::Base</tt>. Action Dispatch and Action Controller
|
32
|
-
are bundled together in {Action Pack}[link
|
32
|
+
are bundled together in {Action Pack}[link:/files/actionpack/README_rdoc.html].
|
33
33
|
|
34
34
|
== View layer
|
35
35
|
|
@@ -37,19 +37,19 @@ The <em><b>View layer</b></em> is composed of "templates" that are responsible f
|
|
37
37
|
appropriate representations of your application's resources. Templates can
|
38
38
|
come in a variety of formats, but most view templates are \HTML with embedded
|
39
39
|
Ruby code (ERB files). Views are typically rendered to generate a controller response,
|
40
|
-
or to generate the body of an email. In \Rails, View generation is handled by {Action View}[link
|
40
|
+
or to generate the body of an email. In \Rails, View generation is handled by {Action View}[link:/files/actionview/README_rdoc.html].
|
41
41
|
|
42
42
|
== Frameworks and libraries
|
43
43
|
|
44
|
-
{Active Record}[link
|
45
|
-
{Action Pack}[link
|
46
|
-
In addition to that, \Rails also comes with {Action Mailer}[link
|
47
|
-
to generate and send emails; {Action Mailbox}[link
|
48
|
-
{Active Job}[link
|
49
|
-
backends; {Action Cable}[link
|
50
|
-
integrate WebSockets with a \Rails application; {Active Storage}[link
|
51
|
-
a library to attach cloud and local files to \Rails applications; {Action Text}[link
|
52
|
-
and {Active Support}[link
|
44
|
+
{Active Record}[link:/files/activerecord/README_rdoc.html], {Active Model}[link:/files/activemodel/README_rdoc.html],
|
45
|
+
{Action Pack}[link:/files/actionpack/README_rdoc.html], and {Action View}[link:/files/actionview/README_rdoc.html] can each be used independently outside \Rails.
|
46
|
+
In addition to that, \Rails also comes with {Action Mailer}[link:/files/actionmailer/README_rdoc.html], a library
|
47
|
+
to generate and send emails; {Action Mailbox}[link:/files/actionmailbox/README_md.html], a library to receive emails within a Rails application;
|
48
|
+
{Active Job}[link:/files/activejob/README_md.html], a framework for declaring jobs and making them run on a variety of queueing
|
49
|
+
backends; {Action Cable}[link:/files/actioncable/README_md.html], a framework to
|
50
|
+
integrate WebSockets with a \Rails application; {Active Storage}[link:/files/activestorage/README_md.html],
|
51
|
+
a library to attach cloud and local files to \Rails applications; {Action Text}[link:/files/actiontext/README_md.html], a library to handle rich text content;
|
52
|
+
and {Active Support}[link:/files/activesupport/README_rdoc.html], a collection
|
53
53
|
of utility classes and standard library extensions that are useful for \Rails,
|
54
54
|
and may also be used independently outside \Rails.
|
55
55
|
|
@@ -72,7 +72,7 @@ and may also be used independently outside \Rails.
|
|
72
72
|
|
73
73
|
Run with <tt>--help</tt> or <tt>-h</tt> for options.
|
74
74
|
|
75
|
-
4. Go to <tt>http://localhost:3000</tt
|
75
|
+
4. Go to <tt>http://localhost:3000</tt>, and you'll see: "Yay! You’re on \Rails!"
|
76
76
|
|
77
77
|
5. Follow the guidelines to start developing your application. You may find the following resources handy:
|
78
78
|
|