railties 6.0.3.3 → 6.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (160) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +234 -370
  3. data/MIT-LICENSE +1 -1
  4. data/RDOC_MAIN.rdoc +1 -1
  5. data/lib/minitest/rails_plugin.rb +16 -1
  6. data/lib/rails.rb +5 -8
  7. data/lib/rails/application.rb +49 -83
  8. data/lib/rails/application/bootstrap.rb +5 -5
  9. data/lib/rails/application/configuration.rb +71 -21
  10. data/lib/rails/application/default_middleware_stack.rb +5 -3
  11. data/lib/rails/application/finisher.rb +15 -2
  12. data/lib/rails/application/routes_reloader.rb +9 -2
  13. data/lib/rails/backtrace_cleaner.rb +12 -7
  14. data/lib/rails/code_statistics.rb +3 -3
  15. data/lib/rails/code_statistics_calculator.rb +6 -6
  16. data/lib/rails/command.rb +7 -1
  17. data/lib/rails/command/base.rb +1 -1
  18. data/lib/rails/command/behavior.rb +1 -1
  19. data/lib/rails/command/environment_argument.rb +1 -1
  20. data/lib/rails/commands/credentials/USAGE +17 -2
  21. data/lib/rails/commands/credentials/credentials_command.rb +28 -4
  22. data/lib/rails/commands/credentials/credentials_command/diffing.rb +41 -0
  23. data/lib/rails/commands/db/system/change/change_command.rb +6 -1
  24. data/lib/rails/commands/dbconsole/dbconsole_command.rb +61 -58
  25. data/lib/rails/commands/encrypted/encrypted_command.rb +4 -4
  26. data/lib/rails/commands/generate/generate_command.rb +1 -1
  27. data/lib/rails/commands/notes/notes_command.rb +1 -11
  28. data/lib/rails/commands/rake/rake_command.rb +9 -8
  29. data/lib/rails/commands/secrets/USAGE +9 -3
  30. data/lib/rails/commands/server/server_command.rb +14 -41
  31. data/lib/rails/commands/test/test_command.rb +2 -2
  32. data/lib/rails/configuration.rb +40 -10
  33. data/lib/rails/engine.rb +35 -32
  34. data/lib/rails/engine/configuration.rb +1 -0
  35. data/lib/rails/engine/updater.rb +1 -1
  36. data/lib/rails/gem_version.rb +3 -3
  37. data/lib/rails/generators.rb +29 -15
  38. data/lib/rails/generators/actions.rb +50 -29
  39. data/lib/rails/generators/actions/create_migration.rb +5 -0
  40. data/lib/rails/generators/app_base.rb +38 -21
  41. data/lib/rails/generators/base.rb +14 -11
  42. data/lib/rails/generators/database.rb +3 -4
  43. data/lib/rails/generators/erb/scaffold/templates/_form.html.erb.tt +3 -3
  44. data/lib/rails/generators/generated_attribute.rb +3 -9
  45. data/lib/rails/generators/migration.rb +2 -1
  46. data/lib/rails/generators/model_helpers.rb +26 -2
  47. data/lib/rails/generators/named_base.rb +1 -1
  48. data/lib/rails/generators/rails/app/USAGE +2 -1
  49. data/lib/rails/generators/rails/app/app_generator.rb +89 -15
  50. data/lib/rails/generators/rails/app/templates/Gemfile.tt +11 -11
  51. data/lib/rails/generators/rails/app/templates/Rakefile.tt +1 -1
  52. data/lib/rails/generators/rails/app/templates/app/javascript/channels/consumer.js +1 -1
  53. data/lib/rails/generators/rails/app/templates/app/javascript/packs/application.js.tt +11 -11
  54. data/lib/rails/generators/rails/app/templates/app/views/layouts/application.html.erb.tt +2 -1
  55. data/lib/rails/generators/rails/app/templates/bin/rails.tt +5 -2
  56. data/lib/rails/generators/rails/app/templates/bin/rake.tt +5 -2
  57. data/lib/rails/generators/rails/app/templates/bin/setup.tt +4 -4
  58. data/lib/rails/generators/rails/app/templates/bin/spring.tt +13 -0
  59. data/lib/rails/generators/rails/app/templates/bin/yarn.tt +9 -3
  60. data/lib/rails/generators/rails/app/templates/config.ru.tt +2 -1
  61. data/lib/rails/generators/rails/app/templates/config/application.rb.tt +14 -7
  62. data/lib/rails/generators/rails/app/templates/config/boot.rb.tt +2 -2
  63. data/lib/rails/generators/rails/app/templates/config/databases/jdbc.yml.tt +3 -4
  64. data/lib/rails/generators/rails/app/templates/config/databases/jdbcmysql.yml.tt +10 -9
  65. data/lib/rails/generators/rails/app/templates/config/databases/jdbcpostgresql.yml.tt +11 -10
  66. data/lib/rails/generators/rails/app/templates/config/databases/mysql.yml.tt +10 -9
  67. data/lib/rails/generators/rails/app/templates/config/databases/oracle.yml.tt +11 -10
  68. data/lib/rails/generators/rails/app/templates/config/databases/postgresql.yml.tt +11 -10
  69. data/lib/rails/generators/rails/app/templates/config/databases/sqlserver.yml.tt +10 -9
  70. data/lib/rails/generators/rails/app/templates/config/environment.rb.tt +1 -1
  71. data/lib/rails/generators/rails/app/templates/config/environments/development.rb.tt +17 -3
  72. data/lib/rails/generators/rails/app/templates/config/environments/production.rb.tt +15 -5
  73. data/lib/rails/generators/rails/app/templates/config/environments/test.rb.tt +12 -1
  74. data/lib/rails/generators/rails/app/templates/config/initializers/backtrace_silencers.rb.tt +4 -3
  75. data/lib/rails/generators/rails/app/templates/config/initializers/filter_parameter_logging.rb.tt +3 -1
  76. data/lib/rails/generators/rails/app/templates/config/initializers/new_framework_defaults_6_1.rb.tt +67 -0
  77. data/lib/rails/generators/rails/app/templates/config/initializers/permissions_policy.rb.tt +11 -0
  78. data/lib/rails/generators/rails/app/templates/config/puma.rb.tt +6 -1
  79. data/lib/rails/generators/rails/app/templates/db/seeds.rb.tt +1 -1
  80. data/lib/rails/generators/rails/app/templates/gitattributes.tt +14 -0
  81. data/lib/rails/generators/rails/app/templates/gitignore.tt +0 -1
  82. data/lib/rails/generators/rails/app/templates/package.json.tt +1 -1
  83. data/lib/rails/generators/rails/app/templates/test/test_helper.rb.tt +5 -5
  84. data/lib/rails/generators/rails/assets/USAGE +2 -3
  85. data/lib/rails/generators/rails/benchmark/USAGE +19 -0
  86. data/lib/rails/generators/rails/benchmark/benchmark_generator.rb +29 -0
  87. data/lib/rails/generators/rails/benchmark/templates/benchmark.rb.tt +15 -0
  88. data/lib/rails/generators/rails/controller/USAGE +2 -2
  89. data/lib/rails/generators/rails/controller/controller_generator.rb +2 -40
  90. data/lib/rails/generators/rails/credentials/credentials_generator.rb +1 -1
  91. data/lib/rails/generators/rails/generator/USAGE +2 -2
  92. data/lib/rails/generators/rails/generator/templates/USAGE.tt +1 -1
  93. data/lib/rails/generators/rails/helper/USAGE +2 -3
  94. data/lib/rails/generators/rails/integration_test/USAGE +2 -2
  95. data/lib/rails/generators/rails/migration/USAGE +4 -4
  96. data/lib/rails/generators/rails/model/USAGE +15 -16
  97. data/lib/rails/generators/rails/plugin/plugin_generator.rb +25 -23
  98. data/lib/rails/generators/rails/plugin/templates/%name%.gemspec.tt +10 -19
  99. data/lib/rails/generators/rails/plugin/templates/Gemfile.tt +3 -10
  100. data/lib/rails/generators/rails/plugin/templates/Rakefile.tt +4 -18
  101. data/lib/rails/generators/rails/plugin/templates/app/controllers/%namespaced_name%/application_controller.rb.tt +0 -1
  102. data/lib/rails/generators/rails/plugin/templates/bin/rails.tt +3 -3
  103. data/lib/rails/generators/rails/plugin/templates/gitignore.tt +13 -11
  104. data/lib/rails/generators/rails/plugin/templates/lib/%namespaced_name%.rb.tt +1 -0
  105. data/lib/rails/generators/rails/plugin/templates/rails/boot.rb.tt +1 -1
  106. data/lib/rails/generators/rails/plugin/templates/test/%namespaced_name%_test.rb.tt +4 -4
  107. data/lib/rails/generators/rails/plugin/templates/test/integration/navigation_test.rb.tt +1 -1
  108. data/lib/rails/generators/rails/plugin/templates/test/test_helper.rb.tt +0 -3
  109. data/lib/rails/generators/rails/resource/USAGE +4 -4
  110. data/lib/rails/generators/rails/resource_route/resource_route_generator.rb +2 -27
  111. data/lib/rails/generators/rails/scaffold/USAGE +5 -5
  112. data/lib/rails/generators/rails/scaffold_controller/USAGE +2 -2
  113. data/lib/rails/generators/rails/scaffold_controller/scaffold_controller_generator.rb +6 -0
  114. data/lib/rails/generators/rails/scaffold_controller/templates/api_controller.rb.tt +1 -1
  115. data/lib/rails/generators/rails/scaffold_controller/templates/controller.rb.tt +1 -1
  116. data/lib/rails/generators/rails/system_test/USAGE +2 -2
  117. data/lib/rails/generators/rails/task/USAGE +3 -3
  118. data/lib/rails/generators/test_case.rb +1 -1
  119. data/lib/rails/generators/test_unit/controller/controller_generator.rb +2 -0
  120. data/lib/rails/generators/test_unit/controller/templates/functional_test.rb.tt +3 -3
  121. data/lib/rails/generators/test_unit/generator/templates/generator_test.rb.tt +2 -2
  122. data/lib/rails/generators/test_unit/integration/templates/integration_test.rb.tt +1 -1
  123. data/lib/rails/generators/test_unit/job/templates/unit_test.rb.tt +1 -1
  124. data/lib/rails/generators/test_unit/mailer/templates/functional_test.rb.tt +1 -1
  125. data/lib/rails/generators/test_unit/model/templates/fixtures.yml.tt +1 -1
  126. data/lib/rails/generators/test_unit/model/templates/unit_test.rb.tt +1 -1
  127. data/lib/rails/generators/test_unit/plugin/templates/%file_name%_test.rb.tt +1 -1
  128. data/lib/rails/generators/test_unit/plugin/templates/test_helper.rb +2 -2
  129. data/lib/rails/generators/test_unit/scaffold/templates/api_functional_test.rb.tt +1 -1
  130. data/lib/rails/generators/test_unit/scaffold/templates/functional_test.rb.tt +1 -1
  131. data/lib/rails/generators/testing/assertions.rb +2 -2
  132. data/lib/rails/generators/testing/behaviour.rb +1 -1
  133. data/lib/rails/info.rb +1 -1
  134. data/lib/rails/info_controller.rb +1 -1
  135. data/lib/rails/mailers_controller.rb +1 -0
  136. data/lib/rails/paths.rb +14 -6
  137. data/lib/rails/rack/logger.rb +1 -1
  138. data/lib/rails/railtie.rb +32 -10
  139. data/lib/rails/railtie/configuration.rb +3 -2
  140. data/lib/rails/source_annotation_extractor.rb +1 -15
  141. data/lib/rails/tasks.rb +0 -4
  142. data/lib/rails/tasks/engine.rake +1 -4
  143. data/lib/rails/tasks/framework.rake +7 -1
  144. data/lib/rails/tasks/misc.rake +1 -1
  145. data/lib/rails/tasks/statistics.rake +1 -1
  146. data/lib/rails/tasks/yarn.rake +14 -2
  147. data/lib/rails/templates/rails/mailers/email.html.erb +1 -0
  148. data/lib/rails/templates/rails/welcome/index.html.erb +1 -1
  149. data/lib/rails/test_unit/reporter.rb +2 -1
  150. data/lib/rails/test_unit/runner.rb +20 -3
  151. data/lib/rails/test_unit/testing.rake +6 -0
  152. metadata +27 -33
  153. data/lib/rails/generators/rails/app/templates/config/databases/frontbase.yml.tt +0 -50
  154. data/lib/rails/generators/rails/app/templates/config/databases/ibm_db.yml.tt +0 -86
  155. data/lib/rails/generators/rails/app/templates/config/initializers/new_framework_defaults_6_0.rb.tt +0 -45
  156. data/lib/rails/generators/rails/plugin/templates/rails/application.rb.tt +0 -23
  157. data/lib/rails/tasks/annotations.rake +0 -22
  158. data/lib/rails/tasks/dev.rake +0 -11
  159. data/lib/rails/tasks/initializers.rake +0 -9
  160. data/lib/rails/tasks/routes.rake +0 -9
@@ -1,50 +0,0 @@
1
- # FrontBase versions 4.x
2
- #
3
- # Get the bindings:
4
- # gem install ruby-frontbase
5
- #
6
- # Configure Using Gemfile
7
- # gem 'ruby-frontbase'
8
- #
9
- default: &default
10
- adapter: frontbase
11
- pool: <%%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
12
- host: localhost
13
- username: <%= app_name %>
14
- password: ''
15
-
16
- development:
17
- <<: *default
18
- database: <%= app_name %>_development
19
-
20
- # Warning: The database defined as "test" will be erased and
21
- # re-generated from your development database when you run "rake".
22
- # Do not set this db to the same as development or production.
23
- test:
24
- <<: *default
25
- database: <%= app_name %>_test
26
-
27
- # As with config/credentials.yml, you never want to store sensitive information,
28
- # like your database password, in your source code. If your source code is
29
- # ever seen by anyone, they now have access to your database.
30
- #
31
- # Instead, provide the password as a unix environment variable when you boot
32
- # the app. Read https://guides.rubyonrails.org/configuring.html#configuring-a-database
33
- # for a full rundown on how to provide these environment variables in a
34
- # production deployment.
35
- #
36
- # On Heroku and other platform providers, you may have a full connection URL
37
- # available as an environment variable. For example:
38
- #
39
- # DATABASE_URL="frontbase://myuser:mypass@localhost/somedatabase"
40
- #
41
- # You can use this database configuration with:
42
- #
43
- # production:
44
- # url: <%%= ENV['DATABASE_URL'] %>
45
- #
46
- production:
47
- <<: *default
48
- database: <%= app_name %>_production
49
- username: <%= app_name %>
50
- password: <%%= ENV['<%= app_name.upcase %>_DATABASE_PASSWORD'] %>
@@ -1,86 +0,0 @@
1
- # IBM Dataservers
2
- #
3
- # Home Page
4
- # https://github.com/dparnell/ibm_db
5
- #
6
- # To install the ibm_db gem:
7
- #
8
- # On Linux:
9
- # . /home/db2inst1/sqllib/db2profile
10
- # export IBM_DB_INCLUDE=/opt/ibm/db2/V9.7/include
11
- # export IBM_DB_LIB=/opt/ibm/db2/V9.7/lib32
12
- # gem install ibm_db
13
- #
14
- # On Mac OS X 10.5:
15
- # . /home/db2inst1/sqllib/db2profile
16
- # export IBM_DB_INCLUDE=/opt/ibm/db2/V9.7/include
17
- # export IBM_DB_LIB=/opt/ibm/db2/V9.7/lib32
18
- # export ARCHFLAGS="-arch i386"
19
- # gem install ibm_db
20
- #
21
- # On Mac OS X 10.6:
22
- # . /home/db2inst1/sqllib/db2profile
23
- # export IBM_DB_INCLUDE=/opt/ibm/db2/V9.7/include
24
- # export IBM_DB_LIB=/opt/ibm/db2/V9.7/lib64
25
- # export ARCHFLAGS="-arch x86_64"
26
- # gem install ibm_db
27
- #
28
- # On Windows:
29
- # Issue the command: gem install ibm_db
30
- #
31
- # Configure Using Gemfile
32
- # gem 'ibm_db'
33
- #
34
- #
35
- default: &default
36
- adapter: ibm_db
37
- pool: <%%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
38
- username: db2inst1
39
- password:
40
- #schema: db2inst1
41
- #host: localhost
42
- #port: 50000
43
- #account: my_account
44
- #app_user: my_app_user
45
- #application: my_application
46
- #workstation: my_workstation
47
- #security: SSL
48
- #timeout: 10
49
- #authentication: SERVER
50
- #parameterized: false
51
-
52
- development:
53
- <<: *default
54
- database: <%= app_name[0,4] %>_dev
55
-
56
- # Warning: The database defined as "test" will be erased and
57
- # re-generated from your development database when you run "rake".
58
- # Do not set this db to the same as development or production.
59
- test:
60
- <<: *default
61
- database: <%= app_name[0,4] %>_tst
62
-
63
- # As with config/credentials.yml, you never want to store sensitive information,
64
- # like your database password, in your source code. If your source code is
65
- # ever seen by anyone, they now have access to your database.
66
- #
67
- # Instead, provide the password as a unix environment variable when you boot
68
- # the app. Read https://guides.rubyonrails.org/configuring.html#configuring-a-database
69
- # for a full rundown on how to provide these environment variables in a
70
- # production deployment.
71
- #
72
- # On Heroku and other platform providers, you may have a full connection URL
73
- # available as an environment variable. For example:
74
- #
75
- # DATABASE_URL="ibm-db://myuser:mypass@localhost/somedatabase"
76
- #
77
- # You can use this database configuration with:
78
- #
79
- # production:
80
- # url: <%%= ENV['DATABASE_URL'] %>
81
- #
82
- production:
83
- <<: *default
84
- database: <%= app_name %>_production
85
- username: <%= app_name %>
86
- password: <%%= ENV['<%= app_name.upcase %>_DATABASE_PASSWORD'] %>
@@ -1,45 +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 6.0 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
- # Don't force requests from old versions of IE to be UTF-8 encoded.
10
- # Rails.application.config.action_view.default_enforce_utf8 = false
11
-
12
- # Embed purpose and expiry metadata inside signed and encrypted
13
- # cookies for increased security.
14
- #
15
- # This option is not backwards compatible with earlier Rails versions.
16
- # It's best enabled when your entire app is migrated and stable on 6.0.
17
- # Rails.application.config.action_dispatch.use_cookies_with_metadata = true
18
-
19
- # Change the return value of `ActionDispatch::Response#content_type` to Content-Type header without modification.
20
- # Rails.application.config.action_dispatch.return_only_media_type_on_content_type = false
21
-
22
- # Return false instead of self when enqueuing is aborted from a callback.
23
- # Rails.application.config.active_job.return_false_on_aborted_enqueue = true
24
-
25
- # Send Active Storage analysis and purge jobs to dedicated queues.
26
- # Rails.application.config.active_storage.queues.analysis = :active_storage_analysis
27
- # Rails.application.config.active_storage.queues.purge = :active_storage_purge
28
-
29
- # When assigning to a collection of attachments declared via `has_many_attached`, replace existing
30
- # attachments instead of appending. Use #attach to add new attachments without replacing existing ones.
31
- # Rails.application.config.active_storage.replace_on_assign_to_many = true
32
-
33
- # Use ActionMailer::MailDeliveryJob for sending parameterized and normal mail.
34
- #
35
- # The default delivery jobs (ActionMailer::Parameterized::DeliveryJob, ActionMailer::DeliveryJob),
36
- # will be removed in Rails 6.1. This setting is not backwards compatible with earlier Rails versions.
37
- # If you send mail in the background, job workers need to have a copy of
38
- # MailDeliveryJob to ensure all delivery jobs are processed properly.
39
- # Make sure your entire app is migrated and stable on 6.0 before using this setting.
40
- # Rails.application.config.action_mailer.delivery_job = "ActionMailer::MailDeliveryJob"
41
-
42
- # Enable the same cache key to be reused when the object being cached of type
43
- # `ActiveRecord::Relation` changes by moving the volatile information (max updated at and count)
44
- # of the relation's cache key into the cache version to support recycling cache key.
45
- # Rails.application.config.active_record.collection_cache_versioning = true
@@ -1,23 +0,0 @@
1
- require_relative 'boot'
2
-
3
- <% if include_all_railties? -%>
4
- require 'rails/all'
5
- <% else -%>
6
- require "rails"
7
- # Pick the frameworks you want:
8
- require "active_model/railtie"
9
- require "active_job/railtie"
10
- <%= comment_if :skip_active_record %>require "active_record/railtie"
11
- <%= comment_if :skip_active_storage %>require "active_storage/engine"
12
- require "action_controller/railtie"
13
- <%= comment_if :skip_action_mailer %>require "action_mailer/railtie"
14
- require "action_view/railtie"
15
- <%= comment_if :skip_action_cable %>require "action_cable/engine"
16
- <%= comment_if :skip_sprockets %>require "sprockets/railtie"
17
- <%= comment_if :skip_test %>require "rails/test_unit/railtie"
18
- <% end -%>
19
-
20
- Bundler.require(*Rails.groups)
21
- require "<%= namespaced_name %>"
22
-
23
- <%= application_definition %>
@@ -1,22 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "rails/source_annotation_extractor"
4
-
5
- task notes: :environment do
6
- Rails::SourceAnnotationExtractor::Annotation.notes_task_deprecation_warning
7
- Rails::Command.invoke :notes
8
- end
9
-
10
- namespace :notes do
11
- ["OPTIMIZE", "FIXME", "TODO"].each do |annotation|
12
- task annotation.downcase.intern => :environment do
13
- Rails::SourceAnnotationExtractor::Annotation.notes_task_deprecation_warning
14
- Rails::Command.invoke :notes, ["--annotations", annotation]
15
- end
16
- end
17
-
18
- task custom: :environment do
19
- Rails::SourceAnnotationExtractor::Annotation.notes_task_deprecation_warning
20
- Rails::Command.invoke :notes, ["--annotations", ENV["ANNOTATION"]]
21
- end
22
- end
@@ -1,11 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "rails/command"
4
- require "active_support/deprecation"
5
-
6
- namespace :dev do
7
- task cache: :environment do
8
- ActiveSupport::Deprecation.warn("Using `bin/rake dev:cache` is deprecated and will be removed in Rails 6.1. Use `bin/rails dev:cache` instead.\n")
9
- Rails::Command.invoke "dev:cache"
10
- end
11
- end
@@ -1,9 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "rails/command"
4
- require "active_support/deprecation"
5
-
6
- task initializers: :environment do
7
- ActiveSupport::Deprecation.warn("Using `bin/rake initializers` is deprecated and will be removed in Rails 6.1. Use `bin/rails initializers` instead.\n")
8
- Rails::Command.invoke "initializers"
9
- end
@@ -1,9 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "rails/command"
4
- require "active_support/deprecation"
5
-
6
- task routes: :environment do
7
- ActiveSupport::Deprecation.warn("Using `bin/rake routes` is deprecated and will be removed in Rails 6.1. Use `bin/rails routes` instead.\n")
8
- Rails::Command.invoke "routes"
9
- end