railties 7.0.0.alpha2 → 7.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (53) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +46 -1
  3. data/lib/rails/all.rb +0 -1
  4. data/lib/rails/app_updater.rb +1 -1
  5. data/lib/rails/application/bootstrap.rb +6 -2
  6. data/lib/rails/application/configuration.rb +26 -9
  7. data/lib/rails/application/default_middleware_stack.rb +2 -1
  8. data/lib/rails/application/finisher.rb +2 -3
  9. data/lib/rails/commands/dbconsole/dbconsole_command.rb +0 -5
  10. data/lib/rails/engine/configuration.rb +1 -1
  11. data/lib/rails/engine.rb +3 -5
  12. data/lib/rails/gem_version.rb +1 -1
  13. data/lib/rails/generators/app_base.rb +88 -28
  14. data/lib/rails/generators/erb/scaffold/scaffold_generator.rb +1 -1
  15. data/lib/rails/generators/erb/scaffold/templates/_form.html.erb.tt +8 -8
  16. data/lib/rails/generators/erb/scaffold/templates/edit.html.erb.tt +2 -2
  17. data/lib/rails/generators/erb/scaffold/templates/index.html.erb.tt +9 -4
  18. data/lib/rails/generators/erb/scaffold/templates/new.html.erb.tt +1 -1
  19. data/lib/rails/generators/erb/scaffold/templates/partial.html.erb.tt +4 -7
  20. data/lib/rails/generators/erb/scaffold/templates/show.html.erb.tt +4 -4
  21. data/lib/rails/generators/generated_attribute.rb +5 -5
  22. data/lib/rails/generators/named_base.rb +10 -10
  23. data/lib/rails/generators/rails/app/app_generator.rb +13 -6
  24. data/lib/rails/generators/rails/app/templates/Gemfile.tt +21 -20
  25. data/lib/rails/generators/rails/app/templates/app/views/layouts/application.html.erb.tt +1 -0
  26. data/lib/rails/generators/rails/app/templates/config/application.rb.tt +0 -1
  27. data/lib/rails/generators/rails/app/templates/config/environments/development.rb.tt +4 -1
  28. data/lib/rails/generators/rails/app/templates/config/environments/production.rb.tt +2 -23
  29. data/lib/rails/generators/rails/app/templates/config/environments/test.rb.tt +4 -4
  30. data/lib/rails/generators/rails/app/templates/config/initializers/content_security_policy.rb.tt +19 -20
  31. data/lib/rails/generators/rails/app/templates/config/initializers/new_framework_defaults_7_0.rb.tt +36 -4
  32. data/lib/rails/generators/rails/app/templates/config/routes.rb.tt +2 -2
  33. data/lib/rails/generators/rails/app/templates/gitignore.tt +3 -0
  34. data/lib/rails/generators/rails/plugin/plugin_generator.rb +9 -17
  35. data/lib/rails/generators/rails/plugin/templates/%name%.gemspec.tt +4 -2
  36. data/lib/rails/generators/rails/plugin/templates/Gemfile.tt +5 -14
  37. data/lib/rails/generators/rails/plugin/templates/app/models/%namespaced_name%/application_record.rb.tt +1 -1
  38. data/lib/rails/generators/rails/plugin/templates/bin/rails.tt +0 -1
  39. data/lib/rails/generators/rails/plugin/templates/test/test_helper.rb.tt +0 -5
  40. data/lib/rails/generators/test_unit/scaffold/templates/functional_test.rb.tt +5 -5
  41. data/lib/rails/generators/test_unit/scaffold/templates/system_test.rb.tt +7 -9
  42. data/lib/rails/generators/testing/behaviour.rb +2 -2
  43. data/lib/rails/railtie.rb +18 -1
  44. data/lib/rails/tasks/yarn.rake +4 -9
  45. data/lib/rails/templates/rails/mailers/email.html.erb +1 -1
  46. data/lib/rails/templates/rails/welcome/index.html.erb +60 -48
  47. data/lib/rails/test_unit/runner.rb +9 -4
  48. data/lib/rails/welcome_controller.rb +1 -0
  49. data/lib/rails.rb +4 -0
  50. metadata +19 -21
  51. data/lib/rails/generators/rails/app/templates/config/initializers/backtrace_silencers.rb.tt +0 -8
  52. data/lib/rails/generators/rails/app/templates/config/initializers/mime_types.rb.tt +0 -4
  53. data/lib/rails/generators/rails/app/templates/config/initializers/wrap_parameters.rb.tt +0 -16
@@ -11,7 +11,7 @@ class <%= controller_class_name %>ControllerTest < ActionDispatch::IntegrationTe
11
11
  end
12
12
 
13
13
  test "should get index" do
14
- get <%= index_helper %>_url
14
+ get <%= index_helper(type: :url) %>
15
15
  assert_response :success
16
16
  end
17
17
 
@@ -22,10 +22,10 @@ class <%= controller_class_name %>ControllerTest < ActionDispatch::IntegrationTe
22
22
 
23
23
  test "should create <%= singular_table_name %>" do
24
24
  assert_difference("<%= class_name %>.count") do
25
- post <%= index_helper %>_url, params: { <%= "#{singular_table_name}: { #{attributes_string} }" %> }
25
+ post <%= index_helper(type: :url) %>, params: { <%= "#{singular_table_name}: { #{attributes_string} }" %> }
26
26
  end
27
27
 
28
- assert_redirected_to <%= singular_table_name %>_url(<%= class_name %>.last)
28
+ assert_redirected_to <%= show_helper("#{class_name}.last") %>
29
29
  end
30
30
 
31
31
  test "should show <%= singular_table_name %>" do
@@ -40,7 +40,7 @@ class <%= controller_class_name %>ControllerTest < ActionDispatch::IntegrationTe
40
40
 
41
41
  test "should update <%= singular_table_name %>" do
42
42
  patch <%= show_helper %>, params: { <%= "#{singular_table_name}: { #{attributes_string} }" %> }
43
- assert_redirected_to <%= singular_table_name %>_url(<%= "@#{singular_table_name}" %>)
43
+ assert_redirected_to <%= show_helper %>
44
44
  end
45
45
 
46
46
  test "should destroy <%= singular_table_name %>" do
@@ -48,7 +48,7 @@ class <%= controller_class_name %>ControllerTest < ActionDispatch::IntegrationTe
48
48
  delete <%= show_helper %>
49
49
  end
50
50
 
51
- assert_redirected_to <%= index_helper %>_url
51
+ assert_redirected_to <%= index_helper(type: :url) %>
52
52
  end
53
53
  end
54
54
  <% end -%>
@@ -8,12 +8,12 @@ class <%= class_name.pluralize %>Test < ApplicationSystemTestCase
8
8
 
9
9
  test "visiting the index" do
10
10
  visit <%= plural_table_name %>_url
11
- assert_selector "h1", text: "<%= class_name.pluralize.titleize %>"
11
+ assert_selector "h1", text: "<%= human_name.pluralize %>"
12
12
  end
13
13
 
14
- test "should create <%= human_name %>" do
14
+ test "should create <%= human_name.downcase %>" do
15
15
  visit <%= plural_table_name %>_url
16
- click_on "New <%= class_name.titleize %>"
16
+ click_on "New <%= human_name.downcase %>"
17
17
 
18
18
  <%- attributes_hash.each do |attr, value| -%>
19
19
  <%- if boolean?(attr) -%>
@@ -29,8 +29,8 @@ class <%= class_name.pluralize %>Test < ApplicationSystemTestCase
29
29
  end
30
30
 
31
31
  test "should update <%= human_name %>" do
32
- visit <%= plural_table_name %>_url
33
- click_on "Edit", match: :first
32
+ visit <%= singular_table_name %>_url(@<%= singular_table_name %>)
33
+ click_on "Edit this <%= human_name.downcase %>", match: :first
34
34
 
35
35
  <%- attributes_hash.each do |attr, value| -%>
36
36
  <%- if boolean?(attr) -%>
@@ -46,10 +46,8 @@ class <%= class_name.pluralize %>Test < ApplicationSystemTestCase
46
46
  end
47
47
 
48
48
  test "should destroy <%= human_name %>" do
49
- visit <%= plural_table_name %>_url
50
- page.accept_confirm do
51
- click_on "Destroy", match: :first
52
- end
49
+ visit <%= singular_table_name %>_url(@<%= singular_table_name %>)
50
+ click_on "Destroy this <%= human_name.downcase %>", match: :first
53
51
 
54
52
  assert_text "<%= human_name %> was successfully destroyed"
55
53
  end
@@ -66,8 +66,8 @@ module Rails
66
66
  # printed by the generator.
67
67
  def run_generator(args = default_arguments, config = {})
68
68
  capture(:stdout) do
69
- args += ["--skip-bundle"] unless args.include? "--dev"
70
- args |= ["--skip-bootsnap"] unless args.include? "--no-skip-bootsnap"
69
+ args += ["--skip-bundle"] unless args.include?("--no-skip-bundle") || args.include?("--dev")
70
+ args |= ["--skip-bootsnap"] unless args.include?("--no-skip-bootsnap")
71
71
 
72
72
  generator_class.start(args, config.reverse_merge(destination_root: destination_root))
73
73
  end
data/lib/rails/railtie.rb CHANGED
@@ -146,7 +146,7 @@ module Rails
146
146
  delegate :config, to: :instance
147
147
 
148
148
  def subclasses
149
- super.reject(&:abstract_railtie?)
149
+ super.reject(&:abstract_railtie?).sort
150
150
  end
151
151
 
152
152
  def rake_tasks(&blk)
@@ -191,6 +191,23 @@ module Rails
191
191
  instance.configure(&block)
192
192
  end
193
193
 
194
+ def <=>(other) # :nodoc:
195
+ load_index <=> other.load_index
196
+ end
197
+
198
+ def inherited(subclass)
199
+ subclass.increment_load_index
200
+ super
201
+ end
202
+
203
+ protected
204
+ attr_reader :load_index
205
+
206
+ def increment_load_index
207
+ @@load_counter ||= 0
208
+ @load_index = (@@load_counter += 1)
209
+ end
210
+
194
211
  private
195
212
  def generate_railtie_name(string)
196
213
  ActiveSupport::Inflector.underscore(string).tr("/", "_")
@@ -10,7 +10,7 @@ namespace :yarn do
10
10
  end
11
11
 
12
12
  yarn_flags =
13
- if `#{RbConfig.ruby} "#{Rails.root}/bin/yarn" --version`.start_with?("1")
13
+ if `yarn --version`.start_with?("1")
14
14
  "--no-progress --frozen-lockfile"
15
15
  else
16
16
  "--immutable"
@@ -18,17 +18,12 @@ namespace :yarn do
18
18
 
19
19
  system(
20
20
  { "NODE_ENV" => node_env },
21
- "#{RbConfig.ruby} \"#{Rails.root}/bin/yarn\" install #{yarn_flags}",
21
+ "yarn install #{yarn_flags}",
22
22
  exception: true
23
23
  )
24
24
  rescue Errno::ENOENT
25
- $stderr.puts "bin/yarn was not found."
26
- $stderr.puts "Please run `bundle exec rails app:update:bin` to create it."
25
+ $stderr.puts "yarn install failed to execute."
26
+ $stderr.puts "Ensure yarn is installed and `yarn --version` runs without errors."
27
27
  exit 1
28
28
  end
29
29
  end
30
-
31
- # Run Yarn prior to Sprockets assets precompilation, so dependencies are available for use.
32
- if Rake::Task.task_defined?("assets:precompile") && File.exist?(Rails.root.join("bin", "yarn"))
33
- Rake::Task["assets:precompile"].enhance [ "yarn:install" ]
34
- end
@@ -124,7 +124,7 @@
124
124
  </header>
125
125
 
126
126
  <% if @part && @part.mime_type %>
127
- <iframe seamless name="messageBody" src="?<%= part_query(@part.mime_type) %>"></iframe>
127
+ <iframe name="messageBody" src="?<%= part_query(@part.mime_type) %>"></iframe>
128
128
  <% else %>
129
129
  <p>
130
130
  You are trying to preview an email that does not have any content.