railties 5.2.8 → 6.0.0.beta1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of railties might be problematic. Click here for more details.

Files changed (144) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +183 -219
  3. data/MIT-LICENSE +1 -1
  4. data/RDOC_MAIN.rdoc +35 -28
  5. data/README.rdoc +1 -1
  6. data/lib/minitest/rails_plugin.rb +6 -10
  7. data/lib/rails/all.rb +4 -0
  8. data/lib/rails/api/generator.rb +2 -1
  9. data/lib/rails/api/task.rb +16 -0
  10. data/lib/rails/app_loader.rb +1 -1
  11. data/lib/rails/app_updater.rb +3 -1
  12. data/lib/rails/application/configuration.rb +54 -12
  13. data/lib/rails/application/default_middleware_stack.rb +2 -0
  14. data/lib/rails/application.rb +21 -45
  15. data/lib/rails/backtrace_cleaner.rb +5 -17
  16. data/lib/rails/code_statistics.rb +3 -3
  17. data/lib/rails/command/actions.rb +0 -10
  18. data/lib/rails/command/base.rb +1 -5
  19. data/lib/rails/command/behavior.rb +4 -46
  20. data/lib/rails/command/environment_argument.rb +1 -11
  21. data/lib/rails/command/spellchecker.rb +58 -0
  22. data/lib/rails/command.rb +11 -10
  23. data/lib/rails/commands/credentials/USAGE +19 -1
  24. data/lib/rails/commands/credentials/credentials_command.rb +42 -23
  25. data/lib/rails/commands/db/system/change/change_command.rb +20 -0
  26. data/lib/rails/commands/dbconsole/dbconsole_command.rb +2 -2
  27. data/lib/rails/commands/dev/dev_command.rb +17 -0
  28. data/lib/rails/commands/encrypted/encrypted_command.rb +2 -3
  29. data/lib/rails/commands/help/help_command.rb +1 -1
  30. data/lib/rails/commands/initializers/initializers_command.rb +16 -0
  31. data/lib/rails/commands/new/new_command.rb +2 -2
  32. data/lib/rails/commands/notes/notes_command.rb +39 -0
  33. data/lib/rails/commands/plugin/plugin_command.rb +1 -1
  34. data/lib/rails/commands/routes/routes_command.rb +37 -0
  35. data/lib/rails/commands/runner/runner_command.rb +6 -6
  36. data/lib/rails/commands/secrets/USAGE +3 -3
  37. data/lib/rails/commands/secrets/secrets_command.rb +3 -3
  38. data/lib/rails/commands/server/server_command.rb +109 -48
  39. data/lib/rails/configuration.rb +1 -7
  40. data/lib/rails/engine/configuration.rb +3 -1
  41. data/lib/rails/engine.rb +3 -9
  42. data/lib/rails/gem_version.rb +4 -4
  43. data/lib/rails/generators/actions.rb +48 -37
  44. data/lib/rails/generators/app_base.rb +49 -89
  45. data/lib/rails/generators/app_name.rb +50 -0
  46. data/lib/rails/generators/base.rb +0 -4
  47. data/lib/rails/generators/database.rb +57 -0
  48. data/lib/rails/generators/erb/mailer/mailer_generator.rb +1 -1
  49. data/lib/rails/generators/erb/scaffold/templates/index.html.erb.tt +1 -1
  50. data/lib/rails/generators/erb/scaffold/templates/show.html.erb.tt +1 -1
  51. data/lib/rails/generators/generated_attribute.rb +17 -17
  52. data/lib/rails/generators/model_helpers.rb +8 -1
  53. data/lib/rails/generators/named_base.rb +1 -5
  54. data/lib/rails/generators/rails/app/app_generator.rb +37 -72
  55. data/lib/rails/generators/rails/app/templates/Gemfile.tt +3 -6
  56. data/lib/rails/generators/rails/app/templates/app/assets/config/manifest.js.tt +0 -3
  57. data/lib/rails/generators/rails/app/templates/app/{assets/javascripts/cable.js.tt → javascript/channels/consumer.js} +2 -9
  58. data/lib/rails/generators/rails/app/templates/app/javascript/channels/index.js +5 -0
  59. data/lib/rails/generators/rails/app/templates/app/javascript/packs/application.js.tt +15 -0
  60. data/lib/rails/generators/rails/app/templates/app/jobs/application_job.rb.tt +5 -0
  61. data/lib/rails/generators/rails/app/templates/app/views/layouts/application.html.erb.tt +4 -4
  62. data/lib/rails/generators/rails/app/templates/bin/setup.tt +4 -5
  63. data/lib/rails/generators/rails/app/templates/bin/update.tt +6 -7
  64. data/lib/rails/generators/rails/app/templates/config/application.rb.tt +2 -0
  65. data/lib/rails/generators/rails/app/templates/config/cable.yml.tt +1 -1
  66. data/lib/rails/generators/rails/app/templates/config/databases/frontbase.yml.tt +2 -2
  67. data/lib/rails/generators/rails/app/templates/config/databases/ibm_db.yml.tt +2 -2
  68. data/lib/rails/generators/rails/app/templates/config/databases/jdbc.yml.tt +2 -2
  69. data/lib/rails/generators/rails/app/templates/config/databases/jdbcmysql.yml.tt +3 -3
  70. data/lib/rails/generators/rails/app/templates/config/databases/jdbcpostgresql.yml.tt +3 -3
  71. data/lib/rails/generators/rails/app/templates/config/databases/mysql.yml.tt +4 -4
  72. data/lib/rails/generators/rails/app/templates/config/databases/oracle.yml.tt +2 -2
  73. data/lib/rails/generators/rails/app/templates/config/databases/postgresql.yml.tt +6 -6
  74. data/lib/rails/generators/rails/app/templates/config/databases/sqlserver.yml.tt +2 -2
  75. data/lib/rails/generators/rails/app/templates/config/environments/development.rb.tt +3 -2
  76. data/lib/rails/generators/rails/app/templates/config/environments/production.rb.tt +5 -12
  77. data/lib/rails/generators/rails/app/templates/config/environments/test.rb.tt +6 -2
  78. data/lib/rails/generators/rails/app/templates/config/initializers/assets.rb.tt +1 -1
  79. data/lib/rails/generators/rails/app/templates/config/initializers/content_security_policy.rb.tt +4 -0
  80. data/lib/rails/generators/rails/app/templates/config/initializers/new_framework_defaults_6_0.rb.tt +33 -0
  81. data/lib/rails/generators/rails/app/templates/config/locales/en.yml +1 -1
  82. data/lib/rails/generators/rails/app/templates/config/puma.rb.tt +3 -5
  83. data/lib/rails/generators/rails/app/templates/config/routes.rb.tt +1 -1
  84. data/lib/rails/generators/rails/app/templates/config/spring.rb.tt +6 -6
  85. data/lib/rails/generators/rails/app/templates/gitignore.tt +2 -7
  86. data/lib/rails/generators/rails/app/templates/package.json.tt +7 -1
  87. data/lib/rails/generators/rails/app/templates/ruby-version.tt +1 -1
  88. data/lib/rails/generators/rails/app/templates/test/channels/application_cable/connection_test.rb.tt +11 -0
  89. data/lib/rails/generators/rails/app/templates/test/test_helper.rb.tt +7 -0
  90. data/lib/rails/generators/rails/assets/USAGE +1 -4
  91. data/lib/rails/generators/rails/assets/assets_generator.rb +0 -8
  92. data/lib/rails/generators/rails/controller/controller_generator.rb +11 -1
  93. data/lib/rails/generators/rails/credentials/credentials_generator.rb +7 -8
  94. data/lib/rails/generators/rails/db/system/change/change_generator.rb +55 -0
  95. data/lib/rails/generators/rails/encrypted_file/encrypted_file_generator.rb +4 -5
  96. data/lib/rails/generators/rails/helper/helper_generator.rb +5 -0
  97. data/lib/rails/generators/rails/plugin/plugin_generator.rb +9 -18
  98. data/lib/rails/generators/rails/plugin/templates/app/controllers/%namespaced_name%/application_controller.rb.tt +1 -1
  99. data/lib/rails/generators/rails/plugin/templates/app/helpers/%namespaced_name%/application_helper.rb.tt +1 -1
  100. data/lib/rails/generators/rails/plugin/templates/app/jobs/%namespaced_name%/application_job.rb.tt +1 -1
  101. data/lib/rails/generators/rails/plugin/templates/app/mailers/%namespaced_name%/application_mailer.rb.tt +1 -1
  102. data/lib/rails/generators/rails/plugin/templates/app/models/%namespaced_name%/application_record.rb.tt +1 -1
  103. data/lib/rails/generators/rails/plugin/templates/gitignore.tt +1 -1
  104. data/lib/rails/generators/rails/plugin/templates/lib/%namespaced_name%/engine.rb.tt +1 -1
  105. data/lib/rails/generators/rails/plugin/templates/lib/%namespaced_name%/railtie.rb.tt +1 -1
  106. data/lib/rails/generators/rails/plugin/templates/test/test_helper.rb.tt +1 -2
  107. data/lib/rails/generators/resource_helpers.rb +1 -6
  108. data/lib/rails/generators/test_unit/integration/integration_generator.rb +6 -0
  109. data/lib/rails/generators/test_unit/job/job_generator.rb +5 -0
  110. data/lib/rails/generators/test_unit/mailer/mailer_generator.rb +1 -1
  111. data/lib/rails/generators/test_unit/scaffold/scaffold_generator.rb +1 -1
  112. data/lib/rails/generators/test_unit/system/system_generator.rb +5 -0
  113. data/lib/rails/generators/testing/behaviour.rb +3 -0
  114. data/lib/rails/generators.rb +11 -12
  115. data/lib/rails/info.rb +2 -2
  116. data/lib/rails/info_controller.rb +1 -1
  117. data/lib/rails/mailers_controller.rb +1 -1
  118. data/lib/rails/paths.rb +19 -9
  119. data/lib/rails/railtie.rb +1 -1
  120. data/lib/rails/ruby_version_check.rb +3 -3
  121. data/lib/rails/secrets.rb +0 -1
  122. data/lib/rails/source_annotation_extractor.rb +125 -117
  123. data/lib/rails/tasks/annotations.rake +9 -9
  124. data/lib/rails/tasks/dev.rake +5 -4
  125. data/lib/rails/tasks/framework.rake +5 -1
  126. data/lib/rails/tasks/initializers.rake +5 -4
  127. data/lib/rails/tasks/log.rake +0 -1
  128. data/lib/rails/tasks/routes.rake +4 -26
  129. data/lib/rails/tasks/statistics.rake +1 -0
  130. data/lib/rails/tasks/yarn.rake +1 -1
  131. data/lib/rails/templates/rails/welcome/index.html.erb +2 -2
  132. data/lib/rails/test_help.rb +11 -9
  133. data/lib/rails/test_unit/reporter.rb +1 -1
  134. data/lib/rails/test_unit/runner.rb +5 -5
  135. data/lib/rails/test_unit/testing.rake +1 -1
  136. metadata +30 -25
  137. data/lib/rails/.DS_Store +0 -0
  138. data/lib/rails/commands/encrypted/USAGE +0 -28
  139. data/lib/rails/generators/js/assets/assets_generator.rb +0 -15
  140. data/lib/rails/generators/js/assets/templates/javascript.js +0 -2
  141. data/lib/rails/generators/rails/app/templates/app/assets/javascripts/application.js.tt +0 -22
  142. data/lib/rails/generators/rails/app/templates/bin/bundle.tt +0 -2
  143. data/lib/rails/generators/rails/app/templates/config/initializers/new_framework_defaults_5_2.rb.tt +0 -38
  144. data/lib/rails/generators/rails/assets/templates/javascript.js +0 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d8cb3e97b1ac193eae06c47b7ff4c4a33bf8b65f9bdeb60647dac308d7215d69
4
- data.tar.gz: e4d08ea9b949c9123ca34656964fd7df313b0e84b381ef946c4e072657ff3915
3
+ metadata.gz: 66f8f350ddf521a8fb2a51bddda33e6afc57c6e239ea0fe8bd23bea476d12c8f
4
+ data.tar.gz: e647293ffdbc4bbc4beddbde230d567e90de69183b5498729717f1bfda0b2890
5
5
  SHA512:
6
- metadata.gz: 5a9562c40bcc0e5c77aa991dc8f93fb31c15195a4f53ee2fdab05059b037e044f494e07d46be217ec209c0d92155c66598302ec00e130a28c3aae75d0bd69bc6
7
- data.tar.gz: 3d00f7595b15e639dd36f1167e56cd36ce5a204504105df9e95553a463cf9e08bbd72f81151060a77a0481c76dfd9d1ff8b670432136835623cd2e88645849c5
6
+ metadata.gz: f62d369e32f4e40ef7d5f08af230bc70967627c5db1f68c4ab295c7942ac152f33af09bb1012a2d239fb260f411328d3cf78daf70e6d08329079b031ed2f453c
7
+ data.tar.gz: 786ff80d0075f5ff9adefe82ce44c249aa436c8a62f663c2c10d62bef204b84ed9b1a743b7866314756eb3ea86172f3468822736d01333d0cd04cd224fc1a46d
data/CHANGELOG.md CHANGED
@@ -1,93 +1,101 @@
1
- ## Rails 5.2.8 (May 09, 2022) ##
1
+ ## Rails 6.0.0.beta1 (January 18, 2019) ##
2
2
 
3
- * No changes.
3
+ * Remove deprecated `after_bundle` helper inside plugins templates.
4
4
 
5
+ *Rafael Mendonça França*
5
6
 
6
- ## Rails 5.2.7.1 (April 26, 2022) ##
7
+ * Remove deprecated support to old `config.ru` that use the application class as argument of `run`.
7
8
 
8
- * No changes.
9
+ *Rafael Mendonça França*
9
10
 
11
+ * Remove deprecated `environment` argument from the rails commands.
10
12
 
11
- ## Rails 5.2.7 (March 10, 2022) ##
13
+ *Rafael Mendonça França*
12
14
 
13
- * No changes.
15
+ * Remove deprecated `capify!`.
14
16
 
17
+ *Rafael Mendonça França*
15
18
 
16
- ## Rails 5.2.6.3 (March 08, 2022) ##
19
+ * Remove deprecated `config.secret_token`.
17
20
 
18
- * No changes.
21
+ *Rafael Mendonça França*
19
22
 
23
+ * Seed database with inline ActiveJob job adapter.
20
24
 
21
- ## Rails 5.2.6.2 (February 11, 2022) ##
22
-
23
- * No changes.
24
-
25
-
26
- ## Rails 5.2.6.1 (February 11, 2022) ##
27
-
28
- * No changes.
29
-
30
-
31
- ## Rails 5.2.6 (May 05, 2021) ##
32
-
33
- * No changes.
34
-
35
-
36
- ## Rails 5.2.5 (March 26, 2021) ##
37
-
38
- * No changes.
39
-
40
-
41
- ## Rails 5.2.4.6 (May 05, 2021) ##
42
-
43
- * No changes.
25
+ *Gannon McGibbon*
44
26
 
27
+ * Add `rails db:system:change` command for changing databases.
45
28
 
46
- ## Rails 5.2.4.5 (February 10, 2021) ##
29
+ ```
30
+ bin/rails db:system:change --to=postgresql
31
+ force config/database.yml
32
+ gsub Gemfile
33
+ ```
47
34
 
48
- * No changes.
35
+ The change command copies a template `config/database.yml` with the target database adapter into your app, and replaces your database gem with the target database gem.
49
36
 
37
+ *Gannon McGibbon*
50
38
 
51
- ## Rails 5.2.4.4 (September 09, 2020) ##
39
+ * Add `rails test:channels`.
52
40
 
53
- * No changes.
41
+ *bogdanvlviv*
54
42
 
43
+ * Use original `bundler` environment variables during the process of generating a new rails project.
55
44
 
56
- ## Rails 5.2.4.3 (May 18, 2020) ##
45
+ *Marco Costa*
57
46
 
58
- * No changes.
47
+ * Send Active Storage analysis and purge jobs to dedicated queues by default.
59
48
 
49
+ Analysis jobs now use the `:active_storage_analysis` queue, and purge jobs
50
+ now use the `:active_storage_purge` queue. This matches Action Mailbox,
51
+ which sends its jobs to dedicated queues by default.
60
52
 
61
- ## Rails 5.2.4.2 (March 19, 2020) ##
53
+ *George Claghorn*
62
54
 
63
- * No changes.
55
+ * Add `rails test:mailboxes`.
64
56
 
57
+ *George Claghorn*
65
58
 
66
- ## Rails 5.2.4.1 (December 18, 2019) ##
59
+ * Introduce guard against DNS rebinding attacks
67
60
 
68
- * No changes.
61
+ The `ActionDispatch::HostAuthorization` is a new middleware that prevent
62
+ against DNS rebinding and other `Host` header attacks. It is included in
63
+ the development environment by default with the following configuration:
69
64
 
65
+ Rails.application.config.hosts = [
66
+ IPAddr.new("0.0.0.0/0"), # All IPv4 addresses.
67
+ IPAddr.new("::/0"), # All IPv6 addresses.
68
+ "localhost" # The localhost reserved domain.
69
+ ]
70
70
 
71
- ## Rails 5.2.4 (November 27, 2019) ##
71
+ In other environments `Rails.application.config.hosts` is empty and no
72
+ `Host` header checks will be done. If you want to guard against header
73
+ attacks on production, you have to manually whitelist the allowed hosts
74
+ with:
72
75
 
73
- * Use original `bundler` environment variables during the process of generating a new rails project.
76
+ Rails.application.config.hosts << "product.com"
74
77
 
75
- *Marco Costa*
76
-
77
- * Allow loading seeds without ActiveJob.
78
+ The host of a request is checked against the `hosts` entries with the case
79
+ operator (`#===`), which lets `hosts` support entries of type `RegExp`,
80
+ `Proc` and `IPAddr` to name a few. Here is an example with a regexp.
78
81
 
79
- Fixes #35782
82
+ # Allow requests from subdomains like `www.product.com` and
83
+ # `beta1.product.com`.
84
+ Rails.application.config.hosts << /.*\.product\.com/
80
85
 
81
- *Jeremy Weathers*
86
+ A special case is supported that allows you to whitelist all sub-domains:
82
87
 
83
- * Only force `:async` ActiveJob adapter to `:inline` during seeding.
88
+ # Allow requests from subdomains like `www.product.com` and
89
+ # `beta1.product.com`.
90
+ Rails.application.config.hosts << ".product.com"
84
91
 
85
- *BatedUrGonnaDie*
92
+ *Genadi Samokovarov*
86
93
 
94
+ * Remove redundant suffixes on generated helpers.
87
95
 
88
- ## Rails 5.2.3 (March 27, 2019) ##
96
+ *Gannon McGibbon*
89
97
 
90
- * Seed database with inline ActiveJob job adapter.
98
+ * Remove redundant suffixes on generated integration tests.
91
99
 
92
100
  *Gannon McGibbon*
93
101
 
@@ -95,251 +103,207 @@
95
103
 
96
104
  *Gannon McGibbon*
97
105
 
106
+ * Remove redundant suffixes on generated system tests.
98
107
 
99
- ## Rails 5.2.2.1 (March 11, 2019) ##
100
-
101
- * Generate random development secrets
102
-
103
- A random development secret is now generated to tmp/development_secret.txt
104
-
105
- This avoids an issue where development mode servers were vulnerable to
106
- remote code execution.
107
-
108
- Fixes CVE-2019-5420
109
-
110
- *Eileen M. Uchitelle*, *Aaron Patterson*, *John Hawthorn*
111
-
112
-
113
- ## Rails 5.2.2 (December 04, 2018) ##
114
-
115
- * Disable content security policy for mailer previews.
116
-
117
- *Dylan Reile*
118
-
119
- * Log the remote IP address of clients behind a proxy.
120
-
121
- *Atul Bhosale*
122
-
108
+ *Gannon McGibbon*
123
109
 
124
- ## Rails 5.2.1.1 (November 27, 2018) ##
110
+ * Add an `abort_on_failure` boolean option to the generator method that shell
111
+ out (`generate`, `rake`, `rails_command`) to abort the generator if the
112
+ command fails.
125
113
 
126
- * No changes.
114
+ *David Rodríguez*
127
115
 
116
+ * Remove `app/assets` and `app/javascript` from `eager_load_paths` and `autoload_paths`.
128
117
 
129
- ## Rails 5.2.1 (August 07, 2018) ##
118
+ *Gannon McGibbon*
130
119
 
131
- * Respect `NODE_ENV` when running `rails yarn:install`.
120
+ * Use Ids instead of memory addresses when displaying references in scaffold views.
132
121
 
133
- *Max Melentiev*
122
+ Fixes #29200.
134
123
 
135
- * Don't generate unused files in `app:update` task
124
+ *Rasesh Patel*
136
125
 
137
- Skip the assets' initializer when sprockets isn't loaded.
126
+ * Adds support for multiple databases to `rails db:migrate:status`.
127
+ Subtasks are also added to get the status of individual databases (eg. `rails db:migrate:status:animals`).
138
128
 
139
- Skip `config/spring.rb` when spring isn't loaded.
129
+ *Gannon McGibbon*
140
130
 
141
- *Tsukuru Tanimichi*
131
+ * Use Webpacker by default to manage app-level JavaScript through the new app/javascript directory.
132
+ Sprockets is now solely in charge, by default, of compiling CSS and other static assets.
133
+ Action Cable channel generators will create ES6 stubs rather than use CoffeeScript.
134
+ Active Storage, Action Cable, Turbolinks, and Rails-UJS are loaded by a new application.js pack.
135
+ Generators no longer generate JavaScript stubs.
142
136
 
143
- * Don't include `bootsnap` by default in apps generated under JRuby.
137
+ *DHH*, *Lachlan Sylvester*
144
138
 
145
- Fixes #32641.
139
+ * Add `database` (aliased as `db`) option to model generator to allow
140
+ setting the database. This is useful for applications that use
141
+ multiple databases and put migrations per database in their own directories.
146
142
 
147
- *Guillermo Iguaran*
143
+ ```
144
+ bin/rails g model Room capacity:integer --database=kingston
145
+ invoke active_record
146
+ create db/kingston_migrate/20180830151055_create_rooms.rb
147
+ ```
148
148
 
149
- * Create the `.ruby-version` file compatible with MRI/JRuby by default.
149
+ Because rails scaffolding uses the model generator, you can
150
+ also specify a database with the scaffold generator.
150
151
 
151
- Fixes #32639.
152
+ *Gannon McGibbon*
152
153
 
153
- *Guillermo Iguaran*
154
+ * Raise an error when "recyclable cache keys" are being used by a cache store
155
+ that does not explicitly support it. Custom cache keys that do support this feature
156
+ can bypass this error by implementing the `supports_cache_versioning?` method on their
157
+ class and returning a truthy value.
154
158
 
155
- * Make the master.key file read-only for the owner upon generation on
156
- POSIX-compliant systems.
159
+ *Richard Schneeman*
157
160
 
158
- Previously:
161
+ * Support environment specific credentials overrides.
159
162
 
160
- $ ls -l config/master.key
161
- -rw-r--r-- 1 owner group 32 Jan 1 00:00 master.key
163
+ So any environment will look for `config/credentials/#{Rails.env}.yml.enc` and fall back
164
+ to `config/credentials.yml.enc`.
162
165
 
163
- Now:
166
+ The encryption key can be in `ENV["RAILS_MASTER_KEY"]` or `config/credentials/production.key`.
164
167
 
165
- $ ls -l config/master.key
166
- -rw------- 1 owner group 32 Jan 1 00:00 master.key
168
+ Environment credentials overrides can be edited with `rails credentials:edit --environment production`.
169
+ If no override is setup for the passed environment, it will be created.
167
170
 
168
- Fixes #32604.
171
+ Additionally, the default lookup paths can be overwritten with these configs:
169
172
 
170
- *Jose Luis Duran*
173
+ - `config.credentials.content_path`
174
+ - `config.credentials.key_path`
171
175
 
172
- * Allow use of `minitest-rails` gem with Rails test runner.
176
+ *Wojciech Wnętrzak*
173
177
 
174
- Fixes #31324.
178
+ * Make `ActiveSupport::Cache::NullStore` the default cache store in the test environment.
175
179
 
176
- *Yuji Yaginuma*
180
+ *Michael C. Nelson*
177
181
 
182
+ * Emit warning for unknown inflection rule when generating model.
178
183
 
179
- ## Rails 5.2.0 (April 09, 2018) ##
184
+ *Yoshiyuki Kinjo*
180
185
 
181
- * Fix minitest rails plugin.
186
+ * Add `database` (aliased as `db`) option to migration generator.
182
187
 
183
- The custom reporters are added only if needed.
188
+ If you're using multiple databases and have a folder for each database
189
+ for migrations (ex db/migrate and db/new_db_migrate) you can now pass the
190
+ `--database` option to the generator to make sure the the migration
191
+ is inserted into the correct folder.
184
192
 
185
- This will fix conflicts with others plugins.
193
+ ```
194
+ rails g migration CreateHouses --database=kingston
195
+ invoke active_record
196
+ create db/kingston_migrate/20180830151055_create_houses.rb
197
+ ```
186
198
 
187
- *Kevin Robatel*
199
+ *Eileen M. Uchitelle*
188
200
 
189
- * Deprecate `after_bundle` callback in Rails plugin templates.
201
+ * Deprecate `rake routes` in favor of `rails routes`.
190
202
 
191
203
  *Yuji Yaginuma*
192
204
 
193
- * `rails new` and `rails plugin new` get `Active Storage` by default.
194
- Add ability to skip `Active Storage` with `--skip-active-storage`
195
- and do so automatically when `--skip-active-record` is used.
196
-
197
- *bogdanvlviv*
198
-
199
- * Gemfile for new apps: upgrade redis-rb from ~> 3.0 to 4.0.
200
-
201
- *Jeremy Daer*
202
-
203
- * Add `mini_magick` to default `Gemfile` as comment.
204
-
205
- *Yoshiyuki Hirano*
206
-
207
- * Derive `secret_key_base` from the app name in development and test environments.
208
-
209
- Spares away needless secret configs.
210
-
211
- *DHH*, *Kasper Timm Hansen*
212
-
213
- * Support multiple versions arguments for `gem` method of Generators.
214
-
215
- *Yoshiyuki Hirano*
216
-
217
- * Add `--skip-yarn` option to the plugin generator.
205
+ * Deprecate `rake initializers` in favor of `rails initializers`.
218
206
 
219
- *bogdanvlviv*
220
-
221
- * Optimize routes indentation.
207
+ *Annie-Claude Côté*
222
208
 
223
- *Yoshiyuki Hirano*
209
+ * Deprecate `rake dev:cache` in favor of `rails dev:cache`.
224
210
 
225
- * Optimize indentation for generator actions.
211
+ *Annie-Claude Côté*
226
212
 
227
- *Yoshiyuki Hirano*
213
+ * Deprecate `rails notes` subcommands in favor of passing an `annotations` argument to `rails notes`.
228
214
 
229
- * Skip unused components when running `bin/rails` in Rails plugin.
215
+ The following subcommands are replaced by passing `--annotations` or `-a` to `rails notes`:
216
+ - `rails notes:custom ANNOTATION=custom` is deprecated in favor of using `rails notes -a custom`.
217
+ - `rails notes:optimize` is deprecated in favor of using `rails notes -a OPTIMIZE`.
218
+ - `rails notes:todo` is deprecated in favor of using`rails notes -a TODO`.
219
+ - `rails notes:fixme` is deprecated in favor of using `rails notes -a FIXME`.
230
220
 
231
- *Yoshiyuki Hirano*
221
+ *Annie-Claude Côté*
232
222
 
233
- * Add `git_source` to `Gemfile` for plugin generator.
223
+ * Deprecate `SOURCE_ANNOTATION_DIRECTORIES` environment variable used by `rails notes`
224
+ through `Rails::SourceAnnotationExtractor::Annotation` in favor of using `config.annotations.register_directories`.
234
225
 
235
- *Yoshiyuki Hirano*
226
+ *Annie-Claude Côté*
236
227
 
237
- * Add `--skip-action-cable` option to the plugin generator.
238
-
239
- *bogdanvlviv*
240
-
241
- * Deprecate support for using a `Rails::Application` subclass to start Rails server.
242
-
243
- *Yuji Yaginuma*
228
+ * Deprecate `rake notes` in favor of `rails notes`.
244
229
 
245
- * Add `ruby x.x.x` version to `Gemfile` and create `.ruby-version`
246
- root file containing the current Ruby version when new Rails applications are
247
- created.
230
+ *Annie-Claude Côté*
248
231
 
249
- *Alberto Almagro*
232
+ * Don't generate unused files in `app:update` task.
250
233
 
251
- * Support `-` as a platform-agnostic way to run a script from stdin with
252
- `rails runner`
234
+ Skip the assets' initializer when sprockets isn't loaded.
253
235
 
254
- *Cody Cutrer*
236
+ Skip `config/spring.rb` when spring isn't loaded.
255
237
 
256
- * Add `bootsnap` to default `Gemfile`.
238
+ Skip yarn's contents when yarn integration isn't used.
257
239
 
258
- *Burke Libbey*
259
-
260
- * Properly expand shortcuts for environment's name running the `console`
261
- and `dbconsole` commands.
262
-
263
- *Robin Dupret*
240
+ *Tsukuru Tanimichi*
264
241
 
265
- * Passing the environment's name as a regular argument to the
266
- `rails dbconsole` and `rails console` commands is deprecated.
267
- The `-e` option should be used instead.
242
+ * Make the master.key file read-only for the owner upon generation on
243
+ POSIX-compliant systems.
268
244
 
269
245
  Previously:
270
246
 
271
- $ bin/rails dbconsole production
247
+ $ ls -l config/master.key
248
+ -rw-r--r-- 1 owner group 32 Jan 1 00:00 master.key
272
249
 
273
250
  Now:
274
251
 
275
- $ bin/rails dbconsole -e production
276
-
277
- *Robin Dupret*, *Kasper Timm Hansen*
278
-
279
- * Allow passing a custom connection name to the `rails dbconsole`
280
- command when using a 3-level database configuration.
281
-
282
- $ bin/rails dbconsole -c replica
283
-
284
- *Robin Dupret*, *Jeremy Daer*
285
-
286
- * Skip unused components when running `bin/rails app:update`.
287
-
288
- If the initial app generation skipped Action Cable, Active Record etc.,
289
- the update task honors those skips too.
290
-
291
- *Yuji Yaginuma*
292
-
293
- * Make Rails' test runner work better with minitest plugins.
294
-
295
- By demoting the Rails test runner to just another minitest plugin —
296
- and thereby not eager loading it — we can co-exist much better with
297
- other minitest plugins such as pride and minitest-focus.
252
+ $ ls -l config/master.key
253
+ -rw------- 1 owner group 32 Jan 1 00:00 master.key
298
254
 
299
- *Kasper Timm Hansen*
255
+ Fixes #32604.
300
256
 
301
- * Load environment file in `dbconsole` command.
257
+ *Jose Luis Duran*
302
258
 
303
- Fixes #29717.
259
+ * Deprecate support for using the `HOST` environment to specify the server IP.
304
260
 
305
- *Yuji Yaginuma*
261
+ The `BINDING` environment should be used instead.
306
262
 
307
- * Add `rails secrets:show` command.
263
+ Fixes #29516.
308
264
 
309
265
  *Yuji Yaginuma*
310
266
 
311
- * Allow mounting the same engine several times in different locations.
312
-
313
- Fixes #20204.
314
-
315
- *David Rodríguez*
316
-
317
- * Clear screenshot files in `tmp:clear` task.
267
+ * Deprecate passing Rack server name as a regular argument to `rails server`.
318
268
 
319
- *Yuji Yaginuma*
269
+ Previously:
320
270
 
321
- * Add `railtie.rb` to the plugin generator
271
+ $ bin/rails server thin
322
272
 
323
- *Tsukuru Tanimichi*
273
+ There wasn't an explicit option for the Rack server to use, now we have the
274
+ `--using` option with the `-u` short switch.
324
275
 
325
- * Deprecate `capify!` method in generators and templates.
276
+ Now:
326
277
 
327
- *Yuji Yaginuma*
278
+ $ bin/rails server -u thin
328
279
 
329
- * Allow irb options to be passed from `rails console` command.
280
+ This change also improves the error message if a missing or mistyped rack
281
+ server is given.
330
282
 
331
- Fixes #28988.
283
+ *Genadi Samokovarov*
332
284
 
333
- *Yuji Yaginuma*
285
+ * Add "rails routes --expanded" option to output routes in expanded mode like
286
+ "psql --expanded". Result looks like:
334
287
 
335
- * Added a shared section to `config/database.yml` that will be loaded for all environments.
288
+ ```
289
+ $ rails routes --expanded
290
+ --[ Route 1 ]------------------------------------------------------------
291
+ Prefix | high_scores
292
+ Verb | GET
293
+ URI | /high_scores(.:format)
294
+ Controller#Action | high_scores#index
295
+ --[ Route 2 ]------------------------------------------------------------
296
+ Prefix | new_high_score
297
+ Verb | GET
298
+ URI | /high_scores/new(.:format)
299
+ Controller#Action | high_scores#new
300
+ ```
336
301
 
337
- *Pierre Schambacher*
302
+ *Benoit Tigeot*
338
303
 
339
- * Namespace error pages' CSS selectors to stop the styles from bleeding into other pages
340
- when using Turbolinks.
304
+ * Rails 6 requires Ruby 2.5.0 or newer.
341
305
 
342
- *Jan Krutisch*
306
+ *Jeremy Daer*, *Kasper Timm Hansen*
343
307
 
344
308
 
345
- Please check [5-1-stable](https://github.com/rails/rails/blob/5-1-stable/railties/CHANGELOG.md) for previous changes.
309
+ Please check [5-2-stable](https://github.com/rails/rails/blob/5-2-stable/railties/CHANGELOG.md) for previous changes.
data/MIT-LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2004-2018 David Heinemeier Hansson
1
+ Copyright (c) 2004-2019 David Heinemeier Hansson
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining
4
4
  a copy of this software and associated documentation files (the
data/RDOC_MAIN.rdoc CHANGED
@@ -1,4 +1,6 @@
1
- == Welcome to \Rails
1
+ = Welcome to \Rails
2
+
3
+ == What's \Rails
2
4
 
3
5
  \Rails is a web-application framework that includes everything needed to
4
6
  create database-backed web applications according to the
@@ -6,43 +8,48 @@ create database-backed web applications according to the
6
8
  pattern.
7
9
 
8
10
  Understanding the MVC pattern is key to understanding \Rails. MVC divides your
9
- application into three layers, each with a specific responsibility.
11
+ application into three layers: Model, View, and Controller, each with a specific responsibility.
12
+
13
+ == Model layer
10
14
 
11
- The <em>Model layer</em> represents your domain model (such as Account, Product,
12
- Person, Post, etc.) and encapsulates the business logic that is specific to
15
+ The <em><b>Model layer</b></em> represents the domain model (such as Account, Product,
16
+ Person, Post, etc.) and encapsulates the business logic specific to
13
17
  your application. In \Rails, database-backed model classes are derived from
14
- ActiveRecord::Base. Active Record allows you to present the data from
18
+ <tt>ActiveRecord::Base</tt>. {Active Record}[link:files/activerecord/README_rdoc.html] allows you to present the data from
15
19
  database rows as objects and embellish these data objects with business logic
16
- methods. You can read more about Active Record in its {README}[link:files/activerecord/README_rdoc.html].
17
- Although most \Rails models are backed by a database, models can also be ordinary
20
+ methods. Although most \Rails models are backed by a database, models can also be ordinary
18
21
  Ruby classes, or Ruby classes that implement a set of interfaces as provided by
19
- the Active Model module. You can read more about Active Model in its {README}[link:files/activemodel/README_rdoc.html].
22
+ the {Active Model}[link:files/activemodel/README_rdoc.html] module.
20
23
 
21
- The <em>Controller layer</em> is responsible for handling incoming HTTP requests and
24
+ == Controller layer
25
+
26
+ The <em><b>Controller layer</b></em> is responsible for handling incoming HTTP requests and
22
27
  providing a suitable response. Usually this means returning \HTML, but \Rails controllers
23
28
  can also generate XML, JSON, PDFs, mobile-specific views, and more. Controllers load and
24
29
  manipulate models, and render view templates in order to generate the appropriate HTTP response.
25
30
  In \Rails, incoming requests are routed by Action Dispatch to an appropriate controller, and
26
- controller classes are derived from ActionController::Base. Action Dispatch and Action Controller
27
- are bundled together in Action Pack. You can read more about Action Pack in its
28
- {README}[link:files/actionpack/README_rdoc.html].
31
+ controller classes are derived from <tt>ActionController::Base</tt>. Action Dispatch and Action Controller
32
+ are bundled together in {Action Pack}[link:files/actionpack/README_rdoc.html].
33
+
34
+ == View layer
29
35
 
30
- The <em>View layer</em> is composed of "templates" that are responsible for providing
36
+ The <em><b>View layer</b></em> is composed of "templates" that are responsible for providing
31
37
  appropriate representations of your application's resources. Templates can
32
38
  come in a variety of formats, but most view templates are \HTML with embedded
33
39
  Ruby code (ERB files). Views are typically rendered to generate a controller response,
34
- or to generate the body of an email. In \Rails, View generation is handled by Action View.
35
- You can read more about Action View in its {README}[link:files/actionview/README_rdoc.html].
36
-
37
- Active Record, Active Model, Action Pack, and Action View can each be used independently outside \Rails.
38
- In addition to that, \Rails also comes with Action Mailer ({README}[link:files/actionmailer/README_rdoc.html]), a library
39
- to generate and send emails; Active Job ({README}[link:files/activejob/README_md.html]), a
40
- framework for declaring jobs and making them run on a variety of queueing
41
- backends; Action Cable ({README}[link:files/actioncable/README_md.html]), a framework to
42
- integrate WebSockets with a \Rails application;
43
- Active Storage ({README}[link:files/activestorage/README_md.html]), a library to attach cloud
44
- and local files to \Rails applications;
45
- and Active Support ({README}[link:files/activesupport/README_rdoc.html]), a collection
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
+
42
+ == Frameworks and libraries
43
+
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
46
53
  of utility classes and standard library extensions that are useful for \Rails,
47
54
  and may also be used independently outside \Rails.
48
55
 
@@ -70,15 +77,15 @@ and may also be used independently outside \Rails.
70
77
  5. Follow the guidelines to start developing your application. You may find the following resources handy:
71
78
 
72
79
  * The \README file created within your application.
73
- * {Getting Started with \Rails}[http://guides.rubyonrails.org/getting_started.html].
74
- * {Ruby on \Rails Guides}[http://guides.rubyonrails.org].
80
+ * {Getting Started with \Rails}[https://guides.rubyonrails.org/getting_started.html].
81
+ * {Ruby on \Rails Guides}[https://guides.rubyonrails.org].
75
82
  * {The API Documentation}[http://api.rubyonrails.org].
76
83
  * {Ruby on \Rails Tutorial}[https://www.railstutorial.org/book].
77
84
 
78
85
  == Contributing
79
86
 
80
87
  We encourage you to contribute to Ruby on \Rails! Please check out the
81
- {Contributing to Ruby on \Rails guide}[http://guides.rubyonrails.org/contributing_to_ruby_on_rails.html] for guidelines about how to proceed. {Join us!}[http://contributors.rubyonrails.org]
88
+ {Contributing to Ruby on \Rails guide}[https://guides.rubyonrails.org/contributing_to_ruby_on_rails.html] for guidelines about how to proceed. {Join us!}[http://contributors.rubyonrails.org]
82
89
 
83
90
  Trying to report a possible security vulnerability in \Rails? Please
84
91
  check out our {security policy}[http://rubyonrails.org/security/] for
data/README.rdoc CHANGED
@@ -17,7 +17,7 @@ The latest version of Railties can be installed with RubyGems:
17
17
 
18
18
  Source code can be downloaded as part of the Rails project on GitHub
19
19
 
20
- * https://github.com/rails/rails/tree/5-2-stable/railties
20
+ * https://github.com/rails/rails/tree/master/railties
21
21
 
22
22
  == License
23
23