actionpack 6.1.3.2 → 7.0.0.alpha2

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of actionpack might be problematic. Click here for more details.

Files changed (111) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +103 -387
  3. data/MIT-LICENSE +1 -1
  4. data/README.rdoc +2 -3
  5. data/lib/abstract_controller/asset_paths.rb +1 -1
  6. data/lib/abstract_controller/base.rb +7 -21
  7. data/lib/abstract_controller/caching/fragments.rb +2 -2
  8. data/lib/abstract_controller/caching.rb +1 -1
  9. data/lib/abstract_controller/callbacks.rb +9 -8
  10. data/lib/abstract_controller/collector.rb +4 -2
  11. data/lib/abstract_controller/error.rb +1 -1
  12. data/lib/abstract_controller/helpers.rb +3 -2
  13. data/lib/abstract_controller/logger.rb +1 -1
  14. data/lib/abstract_controller/railties/routes_helpers.rb +2 -0
  15. data/lib/abstract_controller/translation.rb +0 -2
  16. data/lib/abstract_controller/url_for.rb +4 -6
  17. data/lib/action_controller/api.rb +1 -1
  18. data/lib/action_controller/log_subscriber.rb +3 -1
  19. data/lib/action_controller/metal/conditional_get.rb +38 -1
  20. data/lib/action_controller/metal/content_security_policy.rb +1 -1
  21. data/lib/action_controller/metal/cookies.rb +1 -1
  22. data/lib/action_controller/metal/data_streaming.rb +5 -13
  23. data/lib/action_controller/metal/etag_with_template_digest.rb +1 -1
  24. data/lib/action_controller/metal/exceptions.rb +19 -30
  25. data/lib/action_controller/metal/flash.rb +6 -2
  26. data/lib/action_controller/metal/http_authentication.rb +15 -15
  27. data/lib/action_controller/metal/instrumentation.rb +55 -52
  28. data/lib/action_controller/metal/live.rb +52 -3
  29. data/lib/action_controller/metal/mime_responds.rb +3 -3
  30. data/lib/action_controller/metal/params_wrapper.rb +10 -9
  31. data/lib/action_controller/metal/permissions_policy.rb +1 -1
  32. data/lib/action_controller/metal/query_tags.rb +16 -0
  33. data/lib/action_controller/metal/redirecting.rb +50 -16
  34. data/lib/action_controller/metal/rendering.rb +7 -7
  35. data/lib/action_controller/metal/request_forgery_protection.rb +64 -20
  36. data/lib/action_controller/metal/rescue.rb +1 -1
  37. data/lib/action_controller/metal/streaming.rb +1 -3
  38. data/lib/action_controller/metal/strong_parameters.rb +24 -28
  39. data/lib/action_controller/metal/testing.rb +0 -2
  40. data/lib/action_controller/metal.rb +7 -10
  41. data/lib/action_controller/railtie.rb +42 -5
  42. data/lib/action_controller/test_case.rb +9 -2
  43. data/lib/action_controller.rb +2 -5
  44. data/lib/action_dispatch/http/cache.rb +18 -12
  45. data/lib/action_dispatch/http/content_security_policy.rb +39 -35
  46. data/lib/action_dispatch/http/filter_parameters.rb +5 -0
  47. data/lib/action_dispatch/http/mime_negotiation.rb +13 -3
  48. data/lib/action_dispatch/http/mime_type.rb +9 -11
  49. data/lib/action_dispatch/http/parameters.rb +4 -4
  50. data/lib/action_dispatch/http/permissions_policy.rb +1 -1
  51. data/lib/action_dispatch/http/request.rb +10 -19
  52. data/lib/action_dispatch/http/response.rb +3 -3
  53. data/lib/action_dispatch/http/url.rb +9 -10
  54. data/lib/action_dispatch/journey/formatter.rb +2 -2
  55. data/lib/action_dispatch/journey/gtg/builder.rb +11 -12
  56. data/lib/action_dispatch/journey/gtg/simulator.rb +10 -4
  57. data/lib/action_dispatch/journey/gtg/transition_table.rb +77 -21
  58. data/lib/action_dispatch/journey/nodes/node.rb +70 -5
  59. data/lib/action_dispatch/journey/path/pattern.rb +22 -13
  60. data/lib/action_dispatch/journey/route.rb +5 -12
  61. data/lib/action_dispatch/journey/router/utils.rb +2 -2
  62. data/lib/action_dispatch/journey/router.rb +1 -1
  63. data/lib/action_dispatch/journey/routes.rb +3 -3
  64. data/lib/action_dispatch/journey/visitors.rb +1 -1
  65. data/lib/action_dispatch/journey/visualizer/fsm.js +49 -24
  66. data/lib/action_dispatch/journey/visualizer/index.html.erb +1 -1
  67. data/lib/action_dispatch/middleware/actionable_exceptions.rb +0 -1
  68. data/lib/action_dispatch/middleware/cookies.rb +7 -3
  69. data/lib/action_dispatch/middleware/debug_exceptions.rb +6 -4
  70. data/lib/action_dispatch/middleware/debug_locks.rb +3 -3
  71. data/lib/action_dispatch/middleware/exception_wrapper.rb +4 -0
  72. data/lib/action_dispatch/middleware/flash.rb +9 -11
  73. data/lib/action_dispatch/middleware/host_authorization.rb +9 -17
  74. data/lib/action_dispatch/middleware/remote_ip.rb +16 -4
  75. data/lib/action_dispatch/middleware/session/abstract_store.rb +1 -1
  76. data/lib/action_dispatch/middleware/show_exceptions.rb +7 -9
  77. data/lib/action_dispatch/middleware/stack.rb +27 -9
  78. data/lib/action_dispatch/middleware/static.rb +2 -5
  79. data/lib/action_dispatch/middleware/templates/rescues/_message_and_suggestions.html.erb +1 -1
  80. data/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb +4 -11
  81. data/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb +2 -2
  82. data/lib/action_dispatch/middleware/templates/rescues/blocked_host.html.erb +3 -3
  83. data/lib/action_dispatch/middleware/templates/rescues/blocked_host.text.erb +1 -1
  84. data/lib/action_dispatch/middleware/templates/rescues/diagnostics.html.erb +4 -4
  85. data/lib/action_dispatch/middleware/templates/rescues/invalid_statement.html.erb +3 -3
  86. data/lib/action_dispatch/middleware/templates/rescues/invalid_statement.text.erb +1 -0
  87. data/lib/action_dispatch/middleware/templates/rescues/layout.erb +28 -18
  88. data/lib/action_dispatch/middleware/templates/rescues/missing_exact_template.html.erb +3 -3
  89. data/lib/action_dispatch/middleware/templates/rescues/missing_template.html.erb +3 -3
  90. data/lib/action_dispatch/middleware/templates/rescues/routing_error.html.erb +3 -3
  91. data/lib/action_dispatch/middleware/templates/rescues/template_error.html.erb +3 -3
  92. data/lib/action_dispatch/middleware/templates/rescues/unknown_action.html.erb +3 -3
  93. data/lib/action_dispatch/middleware/templates/routes/_table.html.erb +5 -14
  94. data/lib/action_dispatch/railtie.rb +8 -2
  95. data/lib/action_dispatch/request/session.rb +43 -13
  96. data/lib/action_dispatch/routing/mapper.rb +44 -72
  97. data/lib/action_dispatch/routing/redirection.rb +0 -2
  98. data/lib/action_dispatch/routing/route_set.rb +9 -6
  99. data/lib/action_dispatch/routing/routes_proxy.rb +1 -1
  100. data/lib/action_dispatch/routing/url_for.rb +1 -2
  101. data/lib/action_dispatch/routing.rb +2 -2
  102. data/lib/action_dispatch/system_test_case.rb +5 -5
  103. data/lib/action_dispatch/system_testing/driver.rb +24 -4
  104. data/lib/action_dispatch/system_testing/test_helpers/screenshot_helper.rb +10 -6
  105. data/lib/action_dispatch/testing/assertions.rb +2 -5
  106. data/lib/action_dispatch/testing/integration.rb +6 -8
  107. data/lib/action_dispatch/testing/test_process.rb +12 -9
  108. data/lib/action_dispatch.rb +1 -1
  109. data/lib/action_pack/gem_version.rb +4 -4
  110. data/lib/action_pack.rb +1 -1
  111. metadata +21 -20
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "action_dispatch/http/request"
4
- require "active_support/core_ext/uri"
5
3
  require "active_support/core_ext/array/extract_options"
6
4
  require "rack/utils"
7
5
  require "action_controller/metal/exceptions"
@@ -6,7 +6,6 @@ require "active_support/core_ext/module/redefine_method"
6
6
  require "active_support/core_ext/module/remove_method"
7
7
  require "active_support/core_ext/array/extract_options"
8
8
  require "action_controller/metal/exceptions"
9
- require "action_dispatch/http/request"
10
9
  require "action_dispatch/routing/endpoint"
11
10
 
12
11
  module ActionDispatch
@@ -132,8 +131,8 @@ module ActionDispatch
132
131
  alias [] get
133
132
  alias clear clear!
134
133
 
135
- def each
136
- routes.each { |name, route| yield name, route }
134
+ def each(&block)
135
+ routes.each(&block)
137
136
  self
138
137
  end
139
138
 
@@ -597,14 +596,14 @@ module ActionDispatch
597
596
  if route.segment_keys.include?(:controller)
598
597
  ActiveSupport::Deprecation.warn(<<-MSG.squish)
599
598
  Using a dynamic :controller segment in a route is deprecated and
600
- will be removed in Rails 6.2.
599
+ will be removed in Rails 7.0.
601
600
  MSG
602
601
  end
603
602
 
604
603
  if route.segment_keys.include?(:action)
605
604
  ActiveSupport::Deprecation.warn(<<-MSG.squish)
606
605
  Using a dynamic :action segment in a route is deprecated and
607
- will be removed in Rails 6.2.
606
+ will be removed in Rails 7.0.
608
607
  MSG
609
608
  end
610
609
 
@@ -824,7 +823,11 @@ module ActionDispatch
824
823
  params = route_with_params.params
825
824
 
826
825
  if options.key? :params
827
- params.merge! options[:params]
826
+ if options[:params]&.respond_to?(:to_hash)
827
+ params.merge! options[:params]
828
+ else
829
+ params[:params] = options[:params]
830
+ end
828
831
  end
829
832
 
830
833
  options[:path] = path
@@ -4,7 +4,7 @@ require "active_support/core_ext/array/extract_options"
4
4
 
5
5
  module ActionDispatch
6
6
  module Routing
7
- class RoutesProxy #:nodoc:
7
+ class RoutesProxy # :nodoc:
8
8
  include ActionDispatch::Routing::UrlFor
9
9
 
10
10
  attr_accessor :scope, :routes
@@ -103,11 +103,10 @@ module ActionDispatch
103
103
  include(*_url_for_modules) if respond_to?(:_url_for_modules)
104
104
  end
105
105
 
106
- def initialize(*)
106
+ def initialize(...)
107
107
  @_routes = nil
108
108
  super
109
109
  end
110
- ruby2_keywords(:initialize) if respond_to?(:ruby2_keywords, true)
111
110
 
112
111
  # Hook overridden in controller to add request information
113
112
  # with +default_url_options+. Application logic should not
@@ -255,7 +255,7 @@ module ActionDispatch
255
255
  autoload :UrlFor
256
256
  autoload :PolymorphicRoutes
257
257
 
258
- SEPARATORS = %w( / . ? ) #:nodoc:
259
- HTTP_METHODS = [:get, :head, :post, :patch, :put, :delete, :options] #:nodoc:
258
+ SEPARATORS = %w( / . ? ) # :nodoc:
259
+ HTTP_METHODS = [:get, :head, :post, :patch, :put, :delete, :options] # :nodoc:
260
260
  end
261
261
  end
@@ -72,8 +72,8 @@ module ActionDispatch
72
72
  # Headless browsers such as headless Chrome and headless Firefox are also supported.
73
73
  # You can use these browsers by setting the +:using+ argument to +:headless_chrome+ or +:headless_firefox+.
74
74
  #
75
- # To use a headless driver, like Poltergeist, update your Gemfile to use
76
- # Poltergeist instead of Selenium and then declare the driver name in the
75
+ # To use a headless driver, like Cuprite, update your Gemfile to use
76
+ # Cuprite instead of Selenium and then declare the driver name in the
77
77
  # +application_system_test_case.rb+ file. In this case, you would leave out
78
78
  # the +:using+ option because the driver is headless, but you can still use
79
79
  # +:screen_size+ to change the size of the browser screen, also you can use
@@ -81,10 +81,10 @@ module ActionDispatch
81
81
  # driver documentation to learn about supported options.
82
82
  #
83
83
  # require "test_helper"
84
- # require "capybara/poltergeist"
84
+ # require "capybara/cuprite"
85
85
  #
86
86
  # class ApplicationSystemTestCase < ActionDispatch::SystemTestCase
87
- # driven_by :poltergeist, screen_size: [1400, 1400], options:
87
+ # driven_by :cuprite, screen_size: [1400, 1400], options:
88
88
  # { js_errors: true }
89
89
  # end
90
90
  #
@@ -140,7 +140,7 @@ module ActionDispatch
140
140
  #
141
141
  # Examples:
142
142
  #
143
- # driven_by :poltergeist
143
+ # driven_by :cuprite
144
144
  #
145
145
  # driven_by :selenium, screen_size: [800, 800]
146
146
  #
@@ -5,14 +5,24 @@ module ActionDispatch
5
5
  class Driver # :nodoc:
6
6
  def initialize(name, **options, &capabilities)
7
7
  @name = name
8
- @browser = Browser.new(options[:using])
9
8
  @screen_size = options[:screen_size]
10
9
  @options = options[:options] || {}
11
10
  @capabilities = capabilities
12
11
 
12
+ if [:poltergeist, :webkit].include?(name)
13
+ ActiveSupport::Deprecation.warn <<~MSG.squish
14
+ Poltergeist and capybara-webkit are not maintained already.
15
+ Driver registration of :poltergeist or :webkit is deprecated and will be removed in Rails 7.1.
16
+ You can still use :selenium, and also :cuprite is available for alternative to Poltergeist.
17
+ MSG
18
+ end
19
+
13
20
  if name == :selenium
14
21
  require "selenium/webdriver"
22
+ @browser = Browser.new(options[:using])
15
23
  @browser.preload
24
+ else
25
+ @browser = nil
16
26
  end
17
27
  end
18
28
 
@@ -24,17 +34,19 @@ module ActionDispatch
24
34
 
25
35
  private
26
36
  def registerable?
27
- [:selenium, :poltergeist, :webkit].include?(@name)
37
+ [:selenium, :poltergeist, :webkit, :cuprite, :rack_test].include?(@name)
28
38
  end
29
39
 
30
40
  def register
31
- @browser.configure(&@capabilities)
41
+ @browser&.configure(&@capabilities)
32
42
 
33
43
  Capybara.register_driver @name do |app|
34
44
  case @name
35
45
  when :selenium then register_selenium(app)
36
46
  when :poltergeist then register_poltergeist(app)
37
47
  when :webkit then register_webkit(app)
48
+ when :cuprite then register_cuprite(app)
49
+ when :rack_test then register_rack_test(app)
38
50
  end
39
51
  end
40
52
  end
@@ -44,7 +56,7 @@ module ActionDispatch
44
56
  end
45
57
 
46
58
  def register_selenium(app)
47
- Capybara::Selenium::Driver.new(app, **{ browser: @browser.type }.merge(browser_options)).tap do |driver|
59
+ Capybara::Selenium::Driver.new(app, browser: @browser.type, **browser_options).tap do |driver|
48
60
  driver.browser.manage.window.size = Selenium::WebDriver::Dimension.new(*@screen_size)
49
61
  end
50
62
  end
@@ -59,6 +71,14 @@ module ActionDispatch
59
71
  end
60
72
  end
61
73
 
74
+ def register_cuprite(app)
75
+ Capybara::Cuprite::Driver.new(app, @options.merge(window_size: @screen_size))
76
+ end
77
+
78
+ def register_rack_test(app)
79
+ Capybara::RackTest::Driver.new(app, respect_data_method: true, **@options)
80
+ end
81
+
62
82
  def setup
63
83
  Capybara.current_driver = @name
64
84
  end
@@ -15,8 +15,11 @@ module ActionDispatch
15
15
  #
16
16
  # The screenshot will be displayed in your console, if supported.
17
17
  #
18
+ # The default screenshots directory is +tmp/screenshots+ but you can set a different
19
+ # one with +Capybara.save_path+
20
+ #
18
21
  # You can set the +RAILS_SYSTEM_TESTING_SCREENSHOT_HTML+ environment variable to
19
- # save the HTML from the page that is being screenhoted so you can investigate the
22
+ # save the HTML from the page that is being screenshotted so you can investigate the
20
23
  # elements on the page at the time of the screenshot
21
24
  #
22
25
  # You can set the +RAILS_SYSTEM_TESTING_SCREENSHOT+ environment variable to
@@ -37,10 +40,7 @@ module ActionDispatch
37
40
  # Takes a screenshot of the current page in the browser if the test
38
41
  # failed.
39
42
  #
40
- # +take_failed_screenshot+ is included in <tt>application_system_test_case.rb</tt>
41
- # that is generated with the application. To take screenshots when a test
42
- # fails add +take_failed_screenshot+ to the teardown block before clearing
43
- # sessions.
43
+ # +take_failed_screenshot+ is called during system test teardown.
44
44
  def take_failed_screenshot
45
45
  take_screenshot if failed? && supports_screenshot?
46
46
  end
@@ -76,7 +76,11 @@ module ActionDispatch
76
76
  end
77
77
 
78
78
  def absolute_path
79
- Rails.root.join("tmp/screenshots/#{image_name}")
79
+ Rails.root.join(screenshots_dir, image_name)
80
+ end
81
+
82
+ def screenshots_dir
83
+ Capybara.save_path.presence || "tmp/screenshots"
80
84
  end
81
85
 
82
86
  def absolute_image_path
@@ -1,14 +1,11 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "rails-dom-testing"
4
+ require "action_dispatch/testing/assertions/response"
5
+ require "action_dispatch/testing/assertions/routing"
4
6
 
5
7
  module ActionDispatch
6
8
  module Assertions
7
- autoload :ResponseAssertions, "action_dispatch/testing/assertions/response"
8
- autoload :RoutingAssertions, "action_dispatch/testing/assertions/routing"
9
-
10
- extend ActiveSupport::Concern
11
-
12
9
  include ResponseAssertions
13
10
  include RoutingAssertions
14
11
  include Rails::Dom::Testing::Assertions
@@ -8,7 +8,7 @@ require "minitest"
8
8
  require "action_dispatch/testing/request_encoder"
9
9
 
10
10
  module ActionDispatch
11
- module Integration #:nodoc:
11
+ module Integration # :nodoc:
12
12
  module RequestHelpers
13
13
  # Performs a GET request with the given parameters. See ActionDispatch::Integration::Session#process
14
14
  # for more details.
@@ -199,7 +199,7 @@ module ActionDispatch
199
199
  # merged into the Rack env hash.
200
200
  # - +env+: Additional env to pass, as a Hash. The headers will be
201
201
  # merged into the Rack env hash.
202
- # - +xhr+: Set to +true+ if you want to make and Ajax request.
202
+ # - +xhr+: Set to +true+ if you want to make an Ajax request.
203
203
  # Adds request headers characteristic of XMLHttpRequest e.g. HTTP_X_REQUESTED_WITH.
204
204
  # The headers will be merged into the Rack env hash.
205
205
  # - +as+: Used for encoding the request with different content type.
@@ -363,13 +363,11 @@ module ActionDispatch
363
363
  reset_html_document = "@html_document = nil"
364
364
  end
365
365
 
366
- definition = RUBY_VERSION >= "2.7" ? "..." : "*args"
367
-
368
366
  module_eval <<~RUBY, __FILE__, __LINE__ + 1
369
- def #{method}(#{definition})
367
+ def #{method}(...)
370
368
  #{reset_html_document}
371
369
 
372
- result = integration_session.#{method}(#{definition})
370
+ result = integration_session.#{method}(...)
373
371
  copy_session_variables!
374
372
  result
375
373
  end
@@ -404,7 +402,7 @@ module ActionDispatch
404
402
 
405
403
  # Copy the instance variables from the current session instance into the
406
404
  # test instance.
407
- def copy_session_variables! #:nodoc:
405
+ def copy_session_variables! # :nodoc:
408
406
  @controller = @integration_session.controller
409
407
  @response = @integration_session.response
410
408
  @request = @integration_session.request
@@ -433,7 +431,7 @@ module ActionDispatch
433
431
  super
434
432
  end
435
433
  end
436
- ruby2_keywords(:method_missing) if respond_to?(:ruby2_keywords, true)
434
+ ruby2_keywords(:method_missing)
437
435
  end
438
436
  end
439
437
 
@@ -8,14 +8,14 @@ module ActionDispatch
8
8
  module FixtureFile
9
9
  # Shortcut for <tt>Rack::Test::UploadedFile.new(File.join(ActionDispatch::IntegrationTest.file_fixture_path, path), type)</tt>:
10
10
  #
11
- # post :change_avatar, params: { avatar: fixture_file_upload('spongebob.png', 'image/png') }
11
+ # post :change_avatar, params: { avatar: fixture_file_upload('david.png', 'image/png') }
12
12
  #
13
13
  # Default fixture files location is <tt>test/fixtures/files</tt>.
14
14
  #
15
15
  # To upload binary files on Windows, pass <tt>:binary</tt> as the last parameter.
16
16
  # This will not affect other platforms:
17
17
  #
18
- # post :change_avatar, params: { avatar: fixture_file_upload('spongebob.png', 'image/png', :binary) }
18
+ # post :change_avatar, params: { avatar: fixture_file_upload('david.png', 'image/png', :binary) }
19
19
  def fixture_file_upload(path, mime_type = nil, binary = false)
20
20
  if self.class.respond_to?(:fixture_path) && self.class.fixture_path &&
21
21
  !File.exist?(path)
@@ -25,18 +25,21 @@ module ActionDispatch
25
25
  if !self.class.file_fixture_path
26
26
  ActiveSupport::Deprecation.warn(<<~EOM)
27
27
  Passing a path to `fixture_file_upload` relative to `fixture_path` is deprecated.
28
- In Rails 6.2, the path needs to be relative to `file_fixture_path` which you
28
+ In Rails 7.0, the path needs to be relative to `file_fixture_path` which you
29
29
  haven't set yet. Set `file_fixture_path` to discard this warning.
30
30
  EOM
31
31
  elsif path.exist?
32
32
  non_deprecated_path = Pathname(File.absolute_path(path)).relative_path_from(Pathname(File.absolute_path(self.class.file_fixture_path)))
33
- ActiveSupport::Deprecation.warn(<<~EOM)
34
- Passing a path to `fixture_file_upload` relative to `fixture_path` is deprecated.
35
- In Rails 6.2, the path needs to be relative to `file_fixture_path`.
36
33
 
37
- Please modify the call from
38
- `fixture_file_upload("#{original_path}")` to `fixture_file_upload("#{non_deprecated_path}")`.
39
- EOM
34
+ if Pathname(original_path) != non_deprecated_path
35
+ ActiveSupport::Deprecation.warn(<<~EOM)
36
+ Passing a path to `fixture_file_upload` relative to `fixture_path` is deprecated.
37
+ In Rails 7.0, the path needs to be relative to `file_fixture_path`.
38
+
39
+ Please modify the call from
40
+ `fixture_file_upload("#{original_path}")` to `fixture_file_upload("#{non_deprecated_path}")`.
41
+ EOM
42
+ end
40
43
  else
41
44
  path = file_fixture(original_path)
42
45
  end
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  #--
4
- # Copyright (c) 2004-2020 David Heinemeier Hansson
4
+ # Copyright (c) 2004-2021 David Heinemeier Hansson
5
5
  #
6
6
  # Permission is hereby granted, free of charge, to any person obtaining
7
7
  # a copy of this software and associated documentation files (the
@@ -7,10 +7,10 @@ module ActionPack
7
7
  end
8
8
 
9
9
  module VERSION
10
- MAJOR = 6
11
- MINOR = 1
12
- TINY = 3
13
- PRE = "2"
10
+ MAJOR = 7
11
+ MINOR = 0
12
+ TINY = 0
13
+ PRE = "alpha2"
14
14
 
15
15
  STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
16
16
  end
data/lib/action_pack.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  #--
4
- # Copyright (c) 2004-2020 David Heinemeier Hansson
4
+ # Copyright (c) 2004-2021 David Heinemeier Hansson
5
5
  #
6
6
  # Permission is hereby granted, free of charge, to any person obtaining
7
7
  # a copy of this software and associated documentation files (the
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: actionpack
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.1.3.2
4
+ version: 7.0.0.alpha2
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Heinemeier Hansson
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-05-05 00:00:00.000000000 Z
11
+ date: 2021-09-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 6.1.3.2
19
+ version: 7.0.0.alpha2
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.1.3.2
26
+ version: 7.0.0.alpha2
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rack
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -33,7 +33,7 @@ dependencies:
33
33
  version: '2.0'
34
34
  - - ">="
35
35
  - !ruby/object:Gem::Version
36
- version: 2.0.9
36
+ version: 2.2.0
37
37
  type: :runtime
38
38
  prerelease: false
39
39
  version_requirements: !ruby/object:Gem::Requirement
@@ -43,7 +43,7 @@ dependencies:
43
43
  version: '2.0'
44
44
  - - ">="
45
45
  - !ruby/object:Gem::Version
46
- version: 2.0.9
46
+ version: 2.2.0
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rack-test
49
49
  requirement: !ruby/object:Gem::Requirement
@@ -98,28 +98,28 @@ dependencies:
98
98
  requirements:
99
99
  - - '='
100
100
  - !ruby/object:Gem::Version
101
- version: 6.1.3.2
101
+ version: 7.0.0.alpha2
102
102
  type: :runtime
103
103
  prerelease: false
104
104
  version_requirements: !ruby/object:Gem::Requirement
105
105
  requirements:
106
106
  - - '='
107
107
  - !ruby/object:Gem::Version
108
- version: 6.1.3.2
108
+ version: 7.0.0.alpha2
109
109
  - !ruby/object:Gem::Dependency
110
110
  name: activemodel
111
111
  requirement: !ruby/object:Gem::Requirement
112
112
  requirements:
113
113
  - - '='
114
114
  - !ruby/object:Gem::Version
115
- version: 6.1.3.2
115
+ version: 7.0.0.alpha2
116
116
  type: :development
117
117
  prerelease: false
118
118
  version_requirements: !ruby/object:Gem::Requirement
119
119
  requirements:
120
120
  - - '='
121
121
  - !ruby/object:Gem::Version
122
- version: 6.1.3.2
122
+ version: 7.0.0.alpha2
123
123
  description: Web apps on Rails. Simple, battle-tested conventions for building and
124
124
  testing MVC web applications. Works with any Rack-compatible server.
125
125
  email: david@loudthinking.com
@@ -173,6 +173,7 @@ files:
173
173
  - lib/action_controller/metal/parameter_encoding.rb
174
174
  - lib/action_controller/metal/params_wrapper.rb
175
175
  - lib/action_controller/metal/permissions_policy.rb
176
+ - lib/action_controller/metal/query_tags.rb
176
177
  - lib/action_controller/metal/redirecting.rb
177
178
  - lib/action_controller/metal/renderers.rb
178
179
  - lib/action_controller/metal/rendering.rb
@@ -309,11 +310,11 @@ licenses:
309
310
  - MIT
310
311
  metadata:
311
312
  bug_tracker_uri: https://github.com/rails/rails/issues
312
- changelog_uri: https://github.com/rails/rails/blob/v6.1.3.2/actionpack/CHANGELOG.md
313
- documentation_uri: https://api.rubyonrails.org/v6.1.3.2/
313
+ changelog_uri: https://github.com/rails/rails/blob/v7.0.0.alpha2/actionpack/CHANGELOG.md
314
+ documentation_uri: https://api.rubyonrails.org/v7.0.0.alpha2/
314
315
  mailing_list_uri: https://discuss.rubyonrails.org/c/rubyonrails-talk
315
- source_code_uri: https://github.com/rails/rails/tree/v6.1.3.2/actionpack
316
- post_install_message:
316
+ source_code_uri: https://github.com/rails/rails/tree/v7.0.0.alpha2/actionpack
317
+ post_install_message:
317
318
  rdoc_options: []
318
319
  require_paths:
319
320
  - lib
@@ -321,16 +322,16 @@ required_ruby_version: !ruby/object:Gem::Requirement
321
322
  requirements:
322
323
  - - ">="
323
324
  - !ruby/object:Gem::Version
324
- version: 2.5.0
325
+ version: 2.7.0
325
326
  required_rubygems_version: !ruby/object:Gem::Requirement
326
327
  requirements:
327
- - - ">="
328
+ - - ">"
328
329
  - !ruby/object:Gem::Version
329
- version: '0'
330
+ version: 1.3.1
330
331
  requirements:
331
332
  - none
332
- rubygems_version: 3.1.2
333
- signing_key:
333
+ rubygems_version: 3.1.6
334
+ signing_key:
334
335
  specification_version: 4
335
336
  summary: Web-flow and rendering framework putting the VC in MVC (part of Rails).
336
337
  test_files: []