railties 5.2.3.rc1 → 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 (141) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +190 -130
  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.rb +21 -45
  13. data/lib/rails/application/configuration.rb +54 -12
  14. data/lib/rails/application/default_middleware_stack.rb +2 -0
  15. data/lib/rails/backtrace_cleaner.rb +5 -17
  16. data/lib/rails/code_statistics.rb +3 -3
  17. data/lib/rails/command.rb +11 -10
  18. data/lib/rails/command/actions.rb +0 -10
  19. data/lib/rails/command/base.rb +1 -1
  20. data/lib/rails/command/behavior.rb +4 -46
  21. data/lib/rails/command/environment_argument.rb +1 -11
  22. data/lib/rails/command/spellchecker.rb +58 -0
  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/gem_version.rb +4 -4
  42. data/lib/rails/generators.rb +11 -12
  43. data/lib/rails/generators/actions.rb +48 -37
  44. data/lib/rails/generators/app_base.rb +56 -94
  45. data/lib/rails/generators/app_name.rb +50 -0
  46. data/lib/rails/generators/database.rb +57 -0
  47. data/lib/rails/generators/erb/mailer/mailer_generator.rb +1 -1
  48. data/lib/rails/generators/erb/scaffold/templates/index.html.erb.tt +1 -1
  49. data/lib/rails/generators/erb/scaffold/templates/show.html.erb.tt +1 -1
  50. data/lib/rails/generators/generated_attribute.rb +17 -17
  51. data/lib/rails/generators/model_helpers.rb +8 -1
  52. data/lib/rails/generators/named_base.rb +1 -5
  53. data/lib/rails/generators/rails/app/app_generator.rb +37 -71
  54. data/lib/rails/generators/rails/app/templates/Gemfile.tt +3 -6
  55. data/lib/rails/generators/rails/app/templates/app/assets/config/manifest.js.tt +0 -3
  56. data/lib/rails/generators/rails/app/templates/app/{assets/javascripts/cable.js.tt → javascript/channels/consumer.js} +2 -9
  57. data/lib/rails/generators/rails/app/templates/app/javascript/channels/index.js +5 -0
  58. data/lib/rails/generators/rails/app/templates/app/javascript/packs/application.js.tt +15 -0
  59. data/lib/rails/generators/rails/app/templates/app/jobs/application_job.rb.tt +5 -0
  60. data/lib/rails/generators/rails/app/templates/app/views/layouts/application.html.erb.tt +4 -4
  61. data/lib/rails/generators/rails/app/templates/bin/setup.tt +4 -5
  62. data/lib/rails/generators/rails/app/templates/bin/update.tt +6 -7
  63. data/lib/rails/generators/rails/app/templates/config/application.rb.tt +2 -0
  64. data/lib/rails/generators/rails/app/templates/config/cable.yml.tt +1 -1
  65. data/lib/rails/generators/rails/app/templates/config/databases/frontbase.yml.tt +2 -2
  66. data/lib/rails/generators/rails/app/templates/config/databases/ibm_db.yml.tt +2 -2
  67. data/lib/rails/generators/rails/app/templates/config/databases/jdbc.yml.tt +2 -2
  68. data/lib/rails/generators/rails/app/templates/config/databases/jdbcmysql.yml.tt +3 -3
  69. data/lib/rails/generators/rails/app/templates/config/databases/jdbcpostgresql.yml.tt +3 -3
  70. data/lib/rails/generators/rails/app/templates/config/databases/mysql.yml.tt +4 -4
  71. data/lib/rails/generators/rails/app/templates/config/databases/oracle.yml.tt +2 -2
  72. data/lib/rails/generators/rails/app/templates/config/databases/postgresql.yml.tt +6 -6
  73. data/lib/rails/generators/rails/app/templates/config/databases/sqlserver.yml.tt +2 -2
  74. data/lib/rails/generators/rails/app/templates/config/environments/development.rb.tt +3 -2
  75. data/lib/rails/generators/rails/app/templates/config/environments/production.rb.tt +5 -12
  76. data/lib/rails/generators/rails/app/templates/config/environments/test.rb.tt +6 -2
  77. data/lib/rails/generators/rails/app/templates/config/initializers/assets.rb.tt +1 -1
  78. data/lib/rails/generators/rails/app/templates/config/initializers/content_security_policy.rb.tt +4 -0
  79. data/lib/rails/generators/rails/app/templates/config/initializers/new_framework_defaults_6_0.rb.tt +33 -0
  80. data/lib/rails/generators/rails/app/templates/config/locales/en.yml +1 -1
  81. data/lib/rails/generators/rails/app/templates/config/puma.rb.tt +3 -2
  82. data/lib/rails/generators/rails/app/templates/config/routes.rb.tt +1 -1
  83. data/lib/rails/generators/rails/app/templates/config/spring.rb.tt +6 -6
  84. data/lib/rails/generators/rails/app/templates/gitignore.tt +2 -7
  85. data/lib/rails/generators/rails/app/templates/package.json.tt +7 -1
  86. data/lib/rails/generators/rails/app/templates/ruby-version.tt +1 -1
  87. data/lib/rails/generators/rails/app/templates/test/channels/application_cable/connection_test.rb.tt +11 -0
  88. data/lib/rails/generators/rails/app/templates/test/test_helper.rb.tt +7 -0
  89. data/lib/rails/generators/rails/assets/USAGE +1 -4
  90. data/lib/rails/generators/rails/assets/assets_generator.rb +0 -8
  91. data/lib/rails/generators/rails/controller/controller_generator.rb +11 -1
  92. data/lib/rails/generators/rails/credentials/credentials_generator.rb +7 -8
  93. data/lib/rails/generators/rails/db/system/change/change_generator.rb +55 -0
  94. data/lib/rails/generators/rails/encrypted_file/encrypted_file_generator.rb +4 -5
  95. data/lib/rails/generators/rails/helper/helper_generator.rb +5 -0
  96. data/lib/rails/generators/rails/plugin/plugin_generator.rb +9 -18
  97. data/lib/rails/generators/rails/plugin/templates/app/controllers/%namespaced_name%/application_controller.rb.tt +1 -1
  98. data/lib/rails/generators/rails/plugin/templates/app/helpers/%namespaced_name%/application_helper.rb.tt +1 -1
  99. data/lib/rails/generators/rails/plugin/templates/app/jobs/%namespaced_name%/application_job.rb.tt +1 -1
  100. data/lib/rails/generators/rails/plugin/templates/app/mailers/%namespaced_name%/application_mailer.rb.tt +1 -1
  101. data/lib/rails/generators/rails/plugin/templates/app/models/%namespaced_name%/application_record.rb.tt +1 -1
  102. data/lib/rails/generators/rails/plugin/templates/gitignore.tt +1 -1
  103. data/lib/rails/generators/rails/plugin/templates/lib/%namespaced_name%/engine.rb.tt +1 -1
  104. data/lib/rails/generators/rails/plugin/templates/lib/%namespaced_name%/railtie.rb.tt +1 -1
  105. data/lib/rails/generators/rails/plugin/templates/test/test_helper.rb.tt +1 -2
  106. data/lib/rails/generators/resource_helpers.rb +1 -6
  107. data/lib/rails/generators/test_unit/integration/integration_generator.rb +6 -0
  108. data/lib/rails/generators/test_unit/job/job_generator.rb +5 -0
  109. data/lib/rails/generators/test_unit/mailer/mailer_generator.rb +1 -1
  110. data/lib/rails/generators/test_unit/scaffold/scaffold_generator.rb +1 -1
  111. data/lib/rails/generators/test_unit/system/system_generator.rb +5 -0
  112. data/lib/rails/generators/testing/behaviour.rb +3 -0
  113. data/lib/rails/info.rb +2 -2
  114. data/lib/rails/info_controller.rb +1 -1
  115. data/lib/rails/mailers_controller.rb +1 -1
  116. data/lib/rails/paths.rb +19 -9
  117. data/lib/rails/railtie.rb +1 -1
  118. data/lib/rails/ruby_version_check.rb +3 -3
  119. data/lib/rails/secrets.rb +0 -1
  120. data/lib/rails/source_annotation_extractor.rb +125 -117
  121. data/lib/rails/tasks/annotations.rake +9 -9
  122. data/lib/rails/tasks/dev.rake +5 -4
  123. data/lib/rails/tasks/framework.rake +5 -1
  124. data/lib/rails/tasks/initializers.rake +5 -4
  125. data/lib/rails/tasks/log.rake +0 -1
  126. data/lib/rails/tasks/routes.rake +4 -26
  127. data/lib/rails/tasks/statistics.rake +1 -0
  128. data/lib/rails/tasks/yarn.rake +1 -1
  129. data/lib/rails/templates/rails/welcome/index.html.erb +2 -2
  130. data/lib/rails/test_help.rb +11 -9
  131. data/lib/rails/test_unit/reporter.rb +1 -1
  132. data/lib/rails/test_unit/runner.rb +5 -5
  133. data/lib/rails/test_unit/testing.rake +1 -1
  134. metadata +27 -21
  135. data/lib/rails/commands/encrypted/USAGE +0 -28
  136. data/lib/rails/generators/js/assets/assets_generator.rb +0 -15
  137. data/lib/rails/generators/js/assets/templates/javascript.js +0 -2
  138. data/lib/rails/generators/rails/app/templates/app/assets/javascripts/application.js.tt +0 -22
  139. data/lib/rails/generators/rails/app/templates/bin/bundle.tt +0 -2
  140. data/lib/rails/generators/rails/app/templates/config/initializers/new_framework_defaults_5_2.rb.tt +0 -38
  141. data/lib/rails/generators/rails/assets/templates/javascript.js +0 -2
@@ -1,28 +0,0 @@
1
- === Storing Encrypted Files in Source Control
2
-
3
- The Rails `encrypted` commands provide access to encrypted files or configurations.
4
- See the `Rails.application.encrypted` documentation for using them in your app.
5
-
6
- === Encryption Keys
7
-
8
- By default, Rails looks for the encryption key in `config/master.key` or
9
- `ENV["RAILS_MASTER_KEY"]`, but that lookup can be overriden with `--key`:
10
-
11
- rails encrypted:edit config/encrypted_file.yml.enc --key config/encrypted_file.key
12
-
13
- Don't commit the key! Add it to your source control's ignore file. If you use
14
- Git, Rails handles this for you.
15
-
16
- === Editing Files
17
-
18
- To edit or create an encrypted file use:
19
-
20
- rails encrypted:edit config/encrypted_file.yml.enc
21
-
22
- This opens a temporary file in `$EDITOR` with the decrypted contents for editing.
23
-
24
- === Viewing Files
25
-
26
- To print the decrypted contents of an encrypted file use:
27
-
28
- rails encrypted:show config/encrypted_file.yml.enc
@@ -1,15 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "rails/generators/named_base"
4
-
5
- module Js # :nodoc:
6
- module Generators # :nodoc:
7
- class AssetsGenerator < Rails::Generators::NamedBase # :nodoc:
8
- source_root File.expand_path("templates", __dir__)
9
-
10
- def copy_javascript
11
- copy_file "javascript.js", File.join("app/assets/javascripts", class_path, "#{file_name}.js")
12
- end
13
- end
14
- end
15
- end
@@ -1,2 +0,0 @@
1
- // Place all the behaviors and hooks related to the matching controller here.
2
- // All this logic will automatically be available in application.js.
@@ -1,22 +0,0 @@
1
- // This is a manifest file that'll be compiled into application.js, which will include all the files
2
- // listed below.
3
- //
4
- // Any JavaScript/Coffee file within this directory, lib/assets/javascripts, or any plugin's
5
- // vendor/assets/javascripts directory can be referenced here using a relative path.
6
- //
7
- // It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
8
- // compiled file. JavaScript code in this file should be added after the last require_* statement.
9
- //
10
- // Read Sprockets README (https://github.com/rails/sprockets#sprockets-directives) for details
11
- // about supported directives.
12
- //
13
- <% unless options[:skip_javascript] -%>
14
- //= require rails-ujs
15
- <% unless skip_active_storage? -%>
16
- //= require activestorage
17
- <% end -%>
18
- <% unless options[:skip_turbolinks] -%>
19
- //= require turbolinks
20
- <% end -%>
21
- <% end -%>
22
- //= require_tree .
@@ -1,2 +0,0 @@
1
- ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../Gemfile', __dir__)
2
- load Gem.bin_path('bundler', 'bundle')
@@ -1,38 +0,0 @@
1
- # Be sure to restart your server when you modify this file.
2
- #
3
- # This file contains migration options to ease your Rails 5.2 upgrade.
4
- #
5
- # Once upgraded flip defaults one by one to migrate to the new default.
6
- #
7
- # Read the Guide for Upgrading Ruby on Rails for more info on each option.
8
-
9
- # Make Active Record use stable #cache_key alongside new #cache_version method.
10
- # This is needed for recyclable cache keys.
11
- # Rails.application.config.active_record.cache_versioning = true
12
-
13
- # Use AES-256-GCM authenticated encryption for encrypted cookies.
14
- # Also, embed cookie expiry in signed or encrypted cookies for increased security.
15
- #
16
- # This option is not backwards compatible with earlier Rails versions.
17
- # It's best enabled when your entire app is migrated and stable on 5.2.
18
- #
19
- # Existing cookies will be converted on read then written with the new scheme.
20
- # Rails.application.config.action_dispatch.use_authenticated_cookie_encryption = true
21
-
22
- # Use AES-256-GCM authenticated encryption as default cipher for encrypting messages
23
- # instead of AES-256-CBC, when use_authenticated_message_encryption is set to true.
24
- # Rails.application.config.active_support.use_authenticated_message_encryption = true
25
-
26
- # Add default protection from forgery to ActionController::Base instead of in
27
- # ApplicationController.
28
- # Rails.application.config.action_controller.default_protect_from_forgery = true
29
-
30
- # Store boolean values are in sqlite3 databases as 1 and 0 instead of 't' and
31
- # 'f' after migrating old data.
32
- # Rails.application.config.active_record.sqlite3.represent_boolean_as_integer = true
33
-
34
- # Use SHA-1 instead of MD5 to generate non-sensitive digests, such as the ETag header.
35
- # Rails.application.config.active_support.use_sha1_digests = true
36
-
37
- # Make `form_with` generate id attributes for any generated HTML tags.
38
- # Rails.application.config.action_view.form_with_generates_ids = true
@@ -1,2 +0,0 @@
1
- // Place all the behaviors and hooks related to the matching controller here.
2
- // All this logic will automatically be available in application.js.