railties 6.0.0.beta2 → 6.0.2.rc1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +150 -7
  3. data/RDOC_MAIN.rdoc +3 -3
  4. data/README.rdoc +1 -1
  5. data/lib/rails/api/task.rb +1 -0
  6. data/lib/rails/application.rb +23 -5
  7. data/lib/rails/application/bootstrap.rb +2 -10
  8. data/lib/rails/application/configuration.rb +45 -1
  9. data/lib/rails/application/default_middleware_stack.rb +1 -0
  10. data/lib/rails/application/dummy_erb_compiler.rb +18 -0
  11. data/lib/rails/application/finisher.rb +44 -1
  12. data/lib/rails/autoloaders.rb +14 -2
  13. data/lib/rails/command/base.rb +4 -0
  14. data/lib/rails/command/environment_argument.rb +7 -4
  15. data/lib/rails/commands/console/console_command.rb +6 -0
  16. data/lib/rails/commands/credentials/USAGE +1 -1
  17. data/lib/rails/commands/credentials/credentials_command.rb +17 -3
  18. data/lib/rails/commands/dbconsole/dbconsole_command.rb +19 -7
  19. data/lib/rails/commands/dev/dev_command.rb +4 -2
  20. data/lib/rails/commands/encrypted/USAGE +28 -0
  21. data/lib/rails/commands/encrypted/encrypted_command.rb +1 -0
  22. data/lib/rails/commands/initializers/initializers_command.rb +7 -0
  23. data/lib/rails/commands/notes/notes_command.rb +1 -1
  24. data/lib/rails/commands/runner/runner_command.rb +7 -3
  25. data/lib/rails/commands/server/server_command.rb +8 -6
  26. data/lib/rails/engine.rb +41 -42
  27. data/lib/rails/engine/configuration.rb +3 -2
  28. data/lib/rails/gem_version.rb +2 -2
  29. data/lib/rails/generators.rb +2 -0
  30. data/lib/rails/generators/app_base.rb +5 -5
  31. data/lib/rails/generators/app_name.rb +2 -2
  32. data/lib/rails/generators/base.rb +4 -0
  33. data/lib/rails/generators/database.rb +1 -1
  34. data/lib/rails/generators/erb/scaffold/templates/_form.html.erb.tt +6 -3
  35. data/lib/rails/generators/erb/scaffold/templates/show.html.erb.tt +8 -0
  36. data/lib/rails/generators/generated_attribute.rb +36 -10
  37. data/lib/rails/generators/named_base.rb +1 -1
  38. data/lib/rails/generators/rails/app/app_generator.rb +1 -0
  39. data/lib/rails/generators/rails/app/templates/Gemfile.tt +4 -4
  40. data/lib/rails/generators/rails/app/templates/app/javascript/packs/application.js.tt +8 -0
  41. data/lib/rails/generators/rails/app/templates/bin/setup.tt +3 -2
  42. data/lib/rails/generators/rails/app/templates/config/databases/jdbcsqlite3.yml.tt +1 -1
  43. data/lib/rails/generators/rails/app/templates/config/databases/sqlite3.yml.tt +1 -1
  44. data/lib/rails/generators/rails/app/templates/config/environments/development.rb.tt +2 -0
  45. data/lib/rails/generators/rails/app/templates/config/environments/production.rb.tt +2 -0
  46. data/lib/rails/generators/rails/app/templates/config/environments/test.rb.tt +10 -4
  47. data/lib/rails/generators/rails/app/templates/config/initializers/content_security_policy.rb.tt +3 -0
  48. data/lib/rails/generators/rails/app/templates/config/initializers/new_framework_defaults_6_0.rb.tt +12 -0
  49. data/lib/rails/generators/rails/app/templates/config/puma.rb.tt +3 -0
  50. data/lib/rails/generators/rails/app/templates/gitignore.tt +1 -0
  51. data/lib/rails/generators/rails/app/templates/package.json.tt +3 -3
  52. data/lib/rails/generators/rails/app/templates/public/robots.txt +1 -1
  53. data/lib/rails/generators/rails/app/templates/ruby-version.tt +1 -1
  54. data/lib/rails/generators/rails/assets/assets_generator.rb +7 -0
  55. data/lib/rails/generators/rails/db/system/change/change_generator.rb +12 -2
  56. data/lib/rails/generators/rails/plugin/plugin_generator.rb +0 -15
  57. data/lib/rails/generators/rails/plugin/templates/gitignore.tt +1 -0
  58. data/lib/rails/generators/rails/scaffold_controller/scaffold_controller_generator.rb +14 -0
  59. data/lib/rails/generators/rails/scaffold_controller/templates/api_controller.rb.tt +1 -1
  60. data/lib/rails/generators/rails/scaffold_controller/templates/controller.rb.tt +1 -1
  61. data/lib/rails/generators/test_unit/model/templates/fixtures.yml.tt +2 -2
  62. data/lib/rails/generators/test_unit/scaffold/scaffold_generator.rb +7 -2
  63. data/lib/rails/info.rb +1 -1
  64. data/lib/rails/mailers_controller.rb +6 -3
  65. data/lib/rails/source_annotation_extractor.rb +19 -6
  66. data/lib/rails/tasks.rb +1 -0
  67. data/lib/rails/tasks/zeitwerk.rake +66 -0
  68. metadata +18 -13
  69. data/lib/rails/generators/rails/app/templates/bin/update.tt +0 -33
@@ -0,0 +1,66 @@
1
+ # frozen_string_literal: true
2
+
3
+ ensure_zeitwerk_mode = ->() do
4
+ unless Rails.autoloaders.zeitwerk_enabled?
5
+ abort "Please, enable :zeitwerk mode in config/application.rb and try again."
6
+ end
7
+ end
8
+
9
+ eager_load = ->() do
10
+ puts "Hold on, I am eager loading the application."
11
+ Zeitwerk::Loader.eager_load_all
12
+ end
13
+
14
+ report_not_checked = ->(not_checked) do
15
+ puts
16
+ puts <<~EOS
17
+ WARNING: The files in these directories cannot be checked because they
18
+ are not eager loaded:
19
+ EOS
20
+ puts
21
+
22
+ not_checked.each { |dir| puts " #{dir}" }
23
+ puts
24
+
25
+ puts <<~EOS
26
+ You may verify them manually, or add them to config.eager_load_paths
27
+ in config/application.rb and run zeitwerk:check again.
28
+ EOS
29
+ puts
30
+ end
31
+
32
+ report = ->(not_checked) do
33
+ if not_checked.any?
34
+ report_not_checked[not_checked]
35
+ puts "Otherwise, all is good!"
36
+ else
37
+ puts "All is good!"
38
+ end
39
+ end
40
+
41
+ namespace :zeitwerk do
42
+ desc "Checks project structure for Zeitwerk compatibility"
43
+ task check: :environment do
44
+ ensure_zeitwerk_mode[]
45
+
46
+ begin
47
+ eager_load[]
48
+ rescue NameError => e
49
+ if e.message =~ /expected file .*? to define constant [\w:]+/
50
+ abort $&.sub(/expected file #{Regexp.escape(Rails.root.to_s)}./, "expected file ")
51
+ else
52
+ raise
53
+ end
54
+ end
55
+
56
+ eager_load_paths = Rails.configuration.eager_load_namespaces.map do |eln|
57
+ eln.config.eager_load_paths if eln.respond_to?(:config)
58
+ end.compact.flatten
59
+
60
+ not_checked = ActiveSupport::Dependencies.autoload_paths - eager_load_paths
61
+ not_checked.select! { |dir| Dir.exist?(dir) }
62
+ not_checked.reject! { |dir| Dir.empty?(dir) }
63
+
64
+ report[not_checked]
65
+ end
66
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: railties
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.0.0.beta2
4
+ version: 6.0.2.rc1
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Heinemeier Hansson
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-02-25 00:00:00.000000000 Z
11
+ date: 2019-11-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -16,28 +16,28 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 6.0.0.beta2
19
+ version: 6.0.2.rc1
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: 6.0.0.beta2
26
+ version: 6.0.2.rc1
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: actionpack
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - '='
32
32
  - !ruby/object:Gem::Version
33
- version: 6.0.0.beta2
33
+ version: 6.0.2.rc1
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - '='
39
39
  - !ruby/object:Gem::Version
40
- version: 6.0.0.beta2
40
+ version: 6.0.2.rc1
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rake
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -92,14 +92,14 @@ dependencies:
92
92
  requirements:
93
93
  - - '='
94
94
  - !ruby/object:Gem::Version
95
- version: 6.0.0.beta2
95
+ version: 6.0.2.rc1
96
96
  type: :development
97
97
  prerelease: false
98
98
  version_requirements: !ruby/object:Gem::Requirement
99
99
  requirements:
100
100
  - - '='
101
101
  - !ruby/object:Gem::Version
102
- version: 6.0.0.beta2
102
+ version: 6.0.2.rc1
103
103
  description: 'Rails internals: application bootup, plugins, generators, and rake tasks.'
104
104
  email: david@loudthinking.com
105
105
  executables:
@@ -123,6 +123,7 @@ files:
123
123
  - lib/rails/application/bootstrap.rb
124
124
  - lib/rails/application/configuration.rb
125
125
  - lib/rails/application/default_middleware_stack.rb
126
+ - lib/rails/application/dummy_erb_compiler.rb
126
127
  - lib/rails/application/finisher.rb
127
128
  - lib/rails/application/routes_reloader.rb
128
129
  - lib/rails/application_controller.rb
@@ -147,6 +148,7 @@ files:
147
148
  - lib/rails/commands/dbconsole/dbconsole_command.rb
148
149
  - lib/rails/commands/destroy/destroy_command.rb
149
150
  - lib/rails/commands/dev/dev_command.rb
151
+ - lib/rails/commands/encrypted/USAGE
150
152
  - lib/rails/commands/encrypted/encrypted_command.rb
151
153
  - lib/rails/commands/generate/generate_command.rb
152
154
  - lib/rails/commands/help/USAGE
@@ -226,7 +228,6 @@ files:
226
228
  - lib/rails/generators/rails/app/templates/bin/rails.tt
227
229
  - lib/rails/generators/rails/app/templates/bin/rake.tt
228
230
  - lib/rails/generators/rails/app/templates/bin/setup.tt
229
- - lib/rails/generators/rails/app/templates/bin/update.tt
230
231
  - lib/rails/generators/rails/app/templates/bin/yarn.tt
231
232
  - lib/rails/generators/rails/app/templates/config.ru.tt
232
233
  - lib/rails/generators/rails/app/templates/config/application.rb.tt
@@ -410,6 +411,7 @@ files:
410
411
  - lib/rails/tasks/statistics.rake
411
412
  - lib/rails/tasks/tmp.rake
412
413
  - lib/rails/tasks/yarn.rake
414
+ - lib/rails/tasks/zeitwerk.rake
413
415
  - lib/rails/templates/layouts/application.html.erb
414
416
  - lib/rails/templates/rails/info/properties.html.erb
415
417
  - lib/rails/templates/rails/info/routes.html.erb
@@ -425,12 +427,15 @@ files:
425
427
  - lib/rails/test_unit/testing.rake
426
428
  - lib/rails/version.rb
427
429
  - lib/rails/welcome_controller.rb
428
- homepage: http://rubyonrails.org
430
+ homepage: https://rubyonrails.org
429
431
  licenses:
430
432
  - MIT
431
433
  metadata:
432
- source_code_uri: https://github.com/rails/rails/tree/v6.0.0.beta2/railties
433
- changelog_uri: https://github.com/rails/rails/blob/v6.0.0.beta2/railties/CHANGELOG.md
434
+ bug_tracker_uri: https://github.com/rails/rails/issues
435
+ changelog_uri: https://github.com/rails/rails/blob/v6.0.2.rc1/railties/CHANGELOG.md
436
+ documentation_uri: https://api.rubyonrails.org/v6.0.2.rc1/
437
+ mailing_list_uri: https://groups.google.com/forum/#!forum/rubyonrails-talk
438
+ source_code_uri: https://github.com/rails/rails/tree/v6.0.2.rc1/railties
434
439
  post_install_message:
435
440
  rdoc_options:
436
441
  - "--exclude"
@@ -448,7 +453,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
448
453
  - !ruby/object:Gem::Version
449
454
  version: 1.3.1
450
455
  requirements: []
451
- rubygems_version: 3.0.1
456
+ rubygems_version: 3.0.3
452
457
  signing_key:
453
458
  specification_version: 4
454
459
  summary: Tools for creating, working with, and running Rails applications.
@@ -1,33 +0,0 @@
1
- require 'fileutils'
2
-
3
- # path to your application root.
4
- APP_ROOT = File.expand_path('..', __dir__)
5
-
6
- def system!(*args)
7
- system(*args) || abort("\n== Command #{args} failed ==")
8
- end
9
-
10
- FileUtils.chdir APP_ROOT do
11
- # This script is a way to update your development environment automatically.
12
- # Add necessary update steps to this file.
13
-
14
- puts '== Installing dependencies =='
15
- system! 'gem install bundler --conservative'
16
- system('bundle check') || system!('bundle install')
17
- <% unless options.skip_javascript? -%>
18
-
19
- # Install JavaScript dependencies
20
- # system('bin/yarn')
21
- <% end -%>
22
- <% unless options.skip_active_record? -%>
23
-
24
- puts "\n== Updating database =="
25
- system! 'rails db:migrate'
26
- <% end -%>
27
-
28
- puts "\n== Removing old logs and tempfiles =="
29
- system! 'rails log:clear tmp:clear'
30
-
31
- puts "\n== Restarting application server =="
32
- system! 'rails restart'
33
- end