railties 6.0.0.beta2 → 6.0.2.rc1

Sign up to get free protection for your applications and to get access to all the features.
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