Hello community,
here is the log from the commit of package rubygem-actionpack-6.0 for
openSUSE:Factory checked in at 2020-05-11 13:38:04
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rubygem-actionpack-6.0 (Old)
and /work/SRC/openSUSE:Factory/.rubygem-actionpack-6.0.new.2738 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rubygem-actionpack-6.0"
Mon May 11 13:38:04 2020 rev:6 rq:802311 version:6.0.3
Changes:
--------
---
/work/SRC/openSUSE:Factory/rubygem-actionpack-6.0/rubygem-actionpack-6.0.changes
2020-04-27 23:40:34.535780605 +0200
+++
/work/SRC/openSUSE:Factory/.rubygem-actionpack-6.0.new.2738/rubygem-actionpack-6.0.changes
2020-05-11 13:38:08.292713140 +0200
@@ -1,0 +2,26 @@
+Thu May 7 19:58:35 UTC 2020 - Stephan Kulow <[email protected]>
+
+- updated to version 6.0.3
+ see installed CHANGELOG.md
+
+ ## Rails 6.0.3 (May 06, 2020) ##
+
+ * Include child session assertion count in ActionDispatch::IntegrationTest
+
+ `IntegrationTest#open_session` uses `dup` to create the new session,
which
+ meant it had its own copy of `@assertions`. This prevented the assertions
+ from being correctly counted and reported.
+
+ Child sessions now have their `attr_accessor` overriden to delegate to
the
+ root session.
+
+ Fixes #32142
+
+ *Sam Bostock*
+
+
+ ## Rails 6.0.2.2 (March 19, 2020) ##
+
+ * No changes.
+
+-------------------------------------------------------------------
Old:
----
actionpack-6.0.2.2.gem
New:
----
actionpack-6.0.3.gem
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ rubygem-actionpack-6.0.spec ++++++
--- /var/tmp/diff_new_pack.63eiGL/_old 2020-05-11 13:38:09.364715387 +0200
+++ /var/tmp/diff_new_pack.63eiGL/_new 2020-05-11 13:38:09.368715395 +0200
@@ -24,7 +24,7 @@
#
Name: rubygem-actionpack-6.0
-Version: 6.0.2.2
+Version: 6.0.3
Release: 0
%define mod_name actionpack
%define mod_full_name %{mod_name}-%{version}
++++++ actionpack-6.0.2.2.gem -> actionpack-6.0.3.gem ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/CHANGELOG.md new/CHANGELOG.md
--- old/CHANGELOG.md 2020-03-19 17:42:38.000000000 +0100
+++ new/CHANGELOG.md 2020-05-06 20:00:05.000000000 +0200
@@ -1,3 +1,24 @@
+## Rails 6.0.3 (May 06, 2020) ##
+
+* Include child session assertion count in ActionDispatch::IntegrationTest
+
+ `IntegrationTest#open_session` uses `dup` to create the new session, which
+ meant it had its own copy of `@assertions`. This prevented the assertions
+ from being correctly counted and reported.
+
+ Child sessions now have their `attr_accessor` overriden to delegate to the
+ root session.
+
+ Fixes #32142
+
+ *Sam Bostock*
+
+
+## Rails 6.0.2.2 (March 19, 2020) ##
+
+* No changes.
+
+
## Rails 6.0.2.1 (December 18, 2019) ##
* Fix possible information leak / session hijacking vulnerability.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/README.rdoc new/README.rdoc
--- old/README.rdoc 2020-03-19 17:42:38.000000000 +0100
+++ new/README.rdoc 2020-05-06 20:00:05.000000000 +0200
@@ -55,4 +55,4 @@
Feature requests should be discussed on the rails-core mailing list here:
-* https://groups.google.com/forum/?fromgroups#!forum/rubyonrails-core
+* https://discuss.rubyonrails.org/c/rubyonrails-core
Binary files old/checksums.yaml.gz and new/checksums.yaml.gz differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/abstract_controller/base.rb
new/lib/abstract_controller/base.rb
--- old/lib/abstract_controller/base.rb 2020-03-19 17:42:38.000000000 +0100
+++ new/lib/abstract_controller/base.rb 2020-05-06 20:00:05.000000000 +0200
@@ -176,7 +176,6 @@
end
private
-
# Returns true if the name can be considered an action because
# it has a method defined in the controller.
#
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/abstract_controller/caching.rb
new/lib/abstract_controller/caching.rb
--- old/lib/abstract_controller/caching.rb 2020-03-19 17:42:38.000000000
+0100
+++ new/lib/abstract_controller/caching.rb 2020-05-06 20:00:05.000000000
+0200
@@ -15,7 +15,7 @@
end
def cache_store=(store)
- config.cache_store = ActiveSupport::Cache.lookup_store(store)
+ config.cache_store = ActiveSupport::Cache.lookup_store(*store)
end
private
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/abstract_controller/collector.rb
new/lib/abstract_controller/collector.rb
--- old/lib/abstract_controller/collector.rb 2020-03-19 17:42:38.000000000
+0100
+++ new/lib/abstract_controller/collector.rb 2020-05-06 20:00:05.000000000
+0200
@@ -22,7 +22,6 @@
end
private
-
def method_missing(symbol, &block)
unless mime_constant = Mime[symbol]
raise NoMethodError, "To respond to a custom format, register it as a
MIME type first: " \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/abstract_controller/helpers.rb
new/lib/abstract_controller/helpers.rb
--- old/lib/abstract_controller/helpers.rb 2020-03-19 17:42:38.000000000
+0100
+++ new/lib/abstract_controller/helpers.rb 2020-05-06 20:00:05.000000000
+0200
@@ -61,11 +61,12 @@
meths.flatten!
self._helper_methods += meths
- meths.each do |meth|
+ meths.each do |method|
_helpers.class_eval <<-ruby_eval, __FILE__, __LINE__ + 1
- def #{meth}(*args, &blk) # def
current_user(*args, &blk)
- controller.send(%(#{meth}), *args, &blk) #
controller.send(:current_user, *args, &blk)
- end # end
+ def #{method}(*args, &blk) # def
current_user(*args, &blk)
+ controller.send(%(#{method}), *args, &blk) #
controller.send(:current_user, *args, &blk)
+ end # end
+ ruby2_keywords(%(#{method})) if respond_to?(:ruby2_keywords, true)
ruby_eval
end
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/abstract_controller/translation.rb
new/lib/abstract_controller/translation.rb
--- old/lib/abstract_controller/translation.rb 2020-03-19 17:42:38.000000000
+0100
+++ new/lib/abstract_controller/translation.rb 2020-05-06 20:00:05.000000000
+0200
@@ -10,8 +10,7 @@
# <tt>I18n.translate("people.index.foo")</tt>. This makes it less
repetitive
# to translate many keys within the same controller / action and gives you
a
# simple framework for scoping them consistently.
- def translate(key, options = {})
- options = options.dup
+ def translate(key, **options)
if key.to_s.first == "."
path = controller_path.tr("/", ".")
defaults = [:"#{path}#{key}"]
@@ -19,13 +18,13 @@
options[:default] = defaults.flatten
key = "#{path}.#{action_name}#{key}"
end
- I18n.translate(key, options)
+ I18n.translate(key, **options)
end
alias :t :translate
# Delegates to <tt>I18n.localize</tt>. Also aliased as <tt>l</tt>.
- def localize(*args)
- I18n.localize(*args)
+ def localize(object, **options)
+ I18n.localize(object, **options)
end
alias :l :localize
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/action_controller/caching.rb
new/lib/action_controller/caching.rb
--- old/lib/action_controller/caching.rb 2020-03-19 17:42:38.000000000
+0100
+++ new/lib/action_controller/caching.rb 2020-05-06 20:00:05.000000000
+0200
@@ -30,7 +30,6 @@
end
private
-
def instrument_payload(key)
{
controller: controller_name,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/lib/action_controller/metal/content_security_policy.rb
new/lib/action_controller/metal/content_security_policy.rb
--- old/lib/action_controller/metal/content_security_policy.rb 2020-03-19
17:42:38.000000000 +0100
+++ new/lib/action_controller/metal/content_security_policy.rb 2020-05-06
20:00:05.000000000 +0200
@@ -36,7 +36,6 @@
end
private
-
def content_security_policy?
request.content_security_policy
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/action_controller/metal/instrumentation.rb
new/lib/action_controller/metal/instrumentation.rb
--- old/lib/action_controller/metal/instrumentation.rb 2020-03-19
17:42:38.000000000 +0100
+++ new/lib/action_controller/metal/instrumentation.rb 2020-05-06
20:00:05.000000000 +0200
@@ -69,7 +69,6 @@
end
private
-
# A hook invoked every time a before callback is halted.
def halted_callback_hook(filter)
ActiveSupport::Notifications.instrument("halted_callback.action_controller",
filter: filter)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/action_controller/metal/live.rb
new/lib/action_controller/metal/live.rb
--- old/lib/action_controller/metal/live.rb 2020-03-19 17:42:38.000000000
+0100
+++ new/lib/action_controller/metal/live.rb 2020-05-06 20:00:05.000000000
+0200
@@ -107,7 +107,6 @@
end
private
-
def perform_write(json, options)
current_options = @options.merge(options).stringify_keys
@@ -205,7 +204,6 @@
end
private
-
def each_chunk(&block)
loop do
str = nil
@@ -220,7 +218,6 @@
class Response < ActionDispatch::Response #:nodoc: all
private
-
def before_committed
super
jar = request.cookie_jar
@@ -286,7 +283,6 @@
end
private
-
# Spawn a new thread to serve up the controller in. This is to get
# around the fact that Rack isn't based around IOs and we need to use
# a thread to stream data from the response bodies. Nobody should call
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/action_controller/metal/params_wrapper.rb
new/lib/action_controller/metal/params_wrapper.rb
--- old/lib/action_controller/metal/params_wrapper.rb 2020-03-19
17:42:38.000000000 +0100
+++ new/lib/action_controller/metal/params_wrapper.rb 2020-05-06
20:00:05.000000000 +0200
@@ -246,7 +246,6 @@
end
private
-
# Returns the wrapper key which will be used to store wrapped parameters.
def _wrapper_key
_wrapper_options.name
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/action_controller/metal/rendering.rb
new/lib/action_controller/metal/rendering.rb
--- old/lib/action_controller/metal/rendering.rb 2020-03-19
17:42:38.000000000 +0100
+++ new/lib/action_controller/metal/rendering.rb 2020-05-06
20:00:05.000000000 +0200
@@ -53,7 +53,6 @@
end
private
-
def _process_variant(options)
if defined?(request) && !request.nil? && request.variant.present?
options[:variant] = request.variant
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/lib/action_controller/metal/request_forgery_protection.rb
new/lib/action_controller/metal/request_forgery_protection.rb
--- old/lib/action_controller/metal/request_forgery_protection.rb
2020-03-19 17:42:38.000000000 +0100
+++ new/lib/action_controller/metal/request_forgery_protection.rb
2020-05-06 20:00:05.000000000 +0200
@@ -151,7 +151,6 @@
end
private
-
def protection_method_class(name)
ActionController::RequestForgeryProtection::ProtectionMethods.const_get(name.to_s.classify)
rescue NameError
@@ -175,7 +174,6 @@
end
private
-
class NullSessionHash < Rack::Session::Abstract::SessionHash #:nodoc:
def initialize(req)
super(nil, req)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/action_controller/metal/streaming.rb
new/lib/action_controller/metal/streaming.rb
--- old/lib/action_controller/metal/streaming.rb 2020-03-19
17:42:38.000000000 +0100
+++ new/lib/action_controller/metal/streaming.rb 2020-05-06
20:00:05.000000000 +0200
@@ -196,7 +196,6 @@
extend ActiveSupport::Concern
private
-
# Set proper cache control and transfer encoding when streaming
def _process_options(options)
super
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/action_controller/metal.rb
new/lib/action_controller/metal.rb
--- old/lib/action_controller/metal.rb 2020-03-19 17:42:38.000000000 +0100
+++ new/lib/action_controller/metal.rb 2020-05-06 20:00:05.000000000 +0200
@@ -35,7 +35,6 @@
end
private
-
INCLUDE = ->(list, action) { list.include? action }
EXCLUDE = ->(list, action) { !list.include? action }
NULL = ->(list, action) { true }
@@ -217,10 +216,13 @@
super
end
- # Pushes the given Rack middleware and its arguments to the bottom of the
- # middleware stack.
- def self.use(*args, &block)
- middleware_stack.use(*args, &block)
+ class << self
+ # Pushes the given Rack middleware and its arguments to the bottom of the
+ # middleware stack.
+ def use(*args, &block)
+ middleware_stack.use(*args, &block)
+ end
+ ruby2_keywords(:use) if respond_to?(:ruby2_keywords, true)
end
# Alias for +middleware_stack+.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/action_controller/test_case.rb
new/lib/action_controller/test_case.rb
--- old/lib/action_controller/test_case.rb 2020-03-19 17:42:38.000000000
+0100
+++ new/lib/action_controller/test_case.rb 2020-05-06 20:00:05.000000000
+0200
@@ -158,7 +158,6 @@
end.new
private
-
def params_parsers
super.merge @custom_param_parsers
end
@@ -177,12 +176,12 @@
# Methods #destroy and #load! are overridden to avoid calling methods on the
# @store object, which does not exist for the TestSession class.
- class TestSession < Rack::Session::Abstract::SessionHash #:nodoc:
+ class TestSession <
Rack::Session::Abstract::PersistedSecure::SecureSessionHash #:nodoc:
DEFAULT_OPTIONS = Rack::Session::Abstract::Persisted::DEFAULT_OPTIONS
def initialize(session = {})
super(nil, nil)
- @id = SecureRandom.hex(16)
+ @id = Rack::Session::SessionId.new(SecureRandom.hex(16))
@data = stringify_keys(session)
@loaded = true
end
@@ -203,12 +202,16 @@
clear
end
+ def dig(*keys)
+ keys = keys.map.with_index { |key, i| i.zero? ? key.to_s : key }
+ @data.dig(*keys)
+ end
+
def fetch(key, *args, &block)
@data.fetch(key.to_s, *args, &block)
end
private
-
def load!
@id
end
@@ -595,7 +598,6 @@
end
private
-
def scrub_env!(env)
env.delete_if { |k, v| k =~ /^(action_dispatch|rack)\.request/ }
env.delete_if { |k, v| k =~ /^action_dispatch\.rescue/ }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/action_dispatch/http/cache.rb
new/lib/action_dispatch/http/cache.rb
--- old/lib/action_dispatch/http/cache.rb 2020-03-19 17:42:38.000000000
+0100
+++ new/lib/action_dispatch/http/cache.rb 2020-05-06 20:00:05.000000000
+0200
@@ -123,7 +123,6 @@
end
private
-
DATE = "Date"
LAST_MODIFIED = "Last-Modified"
SPECIAL_KEYS = Set.new(%w[extras no-cache max-age public private
must-revalidate])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/action_dispatch/http/content_security_policy.rb
new/lib/action_dispatch/http/content_security_policy.rb
--- old/lib/action_dispatch/http/content_security_policy.rb 2020-03-19
17:42:38.000000000 +0100
+++ new/lib/action_dispatch/http/content_security_policy.rb 2020-05-06
20:00:05.000000000 +0200
@@ -31,7 +31,6 @@
end
private
-
def html_response?(headers)
if content_type = headers[CONTENT_TYPE]
content_type =~ /html/
@@ -101,7 +100,6 @@
end
private
-
def generate_content_security_policy_nonce
content_security_policy_nonce_generator.call(self)
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/action_dispatch/http/filter_parameters.rb
new/lib/action_dispatch/http/filter_parameters.rb
--- old/lib/action_dispatch/http/filter_parameters.rb 2020-03-19
17:42:38.000000000 +0100
+++ new/lib/action_dispatch/http/filter_parameters.rb 2020-05-06
20:00:05.000000000 +0200
@@ -56,7 +56,6 @@
end
private
-
def parameter_filter # :doc:
parameter_filter_for fetch_header("action_dispatch.parameter_filter") {
return NULL_PARAM_FILTER
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/action_dispatch/http/filter_redirect.rb
new/lib/action_dispatch/http/filter_redirect.rb
--- old/lib/action_dispatch/http/filter_redirect.rb 2020-03-19
17:42:38.000000000 +0100
+++ new/lib/action_dispatch/http/filter_redirect.rb 2020-05-06
20:00:05.000000000 +0200
@@ -14,7 +14,6 @@
end
private
-
def location_filters
if request
request.get_header("action_dispatch.redirect_filter") || []
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/action_dispatch/http/headers.rb
new/lib/action_dispatch/http/headers.rb
--- old/lib/action_dispatch/http/headers.rb 2020-03-19 17:42:38.000000000
+0100
+++ new/lib/action_dispatch/http/headers.rb 2020-05-06 20:00:05.000000000
+0200
@@ -116,7 +116,6 @@
def env; @req.env.dup; end
private
-
# Converts an HTTP header name to an environment variable name if it is
# not contained within the headers hash.
def env_name(key)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/action_dispatch/http/mime_negotiation.rb
new/lib/action_dispatch/http/mime_negotiation.rb
--- old/lib/action_dispatch/http/mime_negotiation.rb 2020-03-19
17:42:38.000000000 +0100
+++ new/lib/action_dispatch/http/mime_negotiation.rb 2020-05-06
20:00:05.000000000 +0200
@@ -154,7 +154,6 @@
end
private
-
BROWSER_LIKE_ACCEPTS = /,\s*\*\/\*|\*\/\*\s*,/
def valid_accept_header # :doc:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/action_dispatch/http/mime_type.rb
new/lib/action_dispatch/http/mime_type.rb
--- old/lib/action_dispatch/http/mime_type.rb 2020-03-19 17:42:38.000000000
+0100
+++ new/lib/action_dispatch/http/mime_type.rb 2020-05-06 20:00:05.000000000
+0200
@@ -225,7 +225,7 @@
MIME_NAME = "[a-zA-Z0-9][a-zA-Z0-9#{Regexp.escape('!#$&-^_.+')}]{0,126}"
MIME_PARAMETER_KEY =
"[a-zA-Z0-9][a-zA-Z0-9#{Regexp.escape('!#$&-^_.+')}]{0,126}"
MIME_PARAMETER_VALUE =
"#{Regexp.escape('"')}?[a-zA-Z0-9][a-zA-Z0-9#{Regexp.escape('!#$&-^_.+')}]{0,126}#{Regexp.escape('"')}?"
- MIME_PARAMETER =
"\s*\;\s+#{MIME_PARAMETER_KEY}(?:\=#{MIME_PARAMETER_VALUE})?"
+ MIME_PARAMETER =
"\s*\;\s*#{MIME_PARAMETER_KEY}(?:\=#{MIME_PARAMETER_VALUE})?"
MIME_REGEXP =
/\A(?:\*\/\*|#{MIME_NAME}\/(?:\*|#{MIME_NAME})(?:\s*#{MIME_PARAMETER}\s*)*)\z/
class InvalidMimeType < StandardError; end
@@ -290,11 +290,9 @@
def all?; false; end
protected
-
attr_reader :string, :synonyms
private
-
def to_ary; end
def to_a; end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/action_dispatch/http/parameters.rb
new/lib/action_dispatch/http/parameters.rb
--- old/lib/action_dispatch/http/parameters.rb 2020-03-19 17:42:38.000000000
+0100
+++ new/lib/action_dispatch/http/parameters.rb 2020-05-06 20:00:05.000000000
+0200
@@ -85,7 +85,6 @@
end
private
-
def set_binary_encoding(params, controller, action)
return params unless controller && controller.valid_encoding?
@@ -99,7 +98,7 @@
def binary_params_for?(controller, action)
controller_class_for(controller).binary_params_for?(action)
- rescue NameError
+ rescue MissingController
false
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/action_dispatch/http/request.rb
new/lib/action_dispatch/http/request.rb
--- old/lib/action_dispatch/http/request.rb 2020-03-19 17:42:38.000000000
+0100
+++ new/lib/action_dispatch/http/request.rb 2020-05-06 20:00:05.000000000
+0200
@@ -85,7 +85,15 @@
if name
controller_param = name.underscore
const_name = "#{controller_param.camelize}Controller"
- ActiveSupport::Dependencies.constantize(const_name)
+ begin
+ ActiveSupport::Dependencies.constantize(const_name)
+ rescue NameError => error
+ if error.missing_name == const_name ||
const_name.start_with?("#{error.missing_name}::")
+ raise MissingController.new(error.message, error.name)
+ else
+ raise
+ end
+ end
else
PASS_NOT_FOUND
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/action_dispatch/http/response.rb
new/lib/action_dispatch/http/response.rb
--- old/lib/action_dispatch/http/response.rb 2020-03-19 17:42:38.000000000
+0100
+++ new/lib/action_dispatch/http/response.rb 2020-05-06 20:00:05.000000000
+0200
@@ -143,7 +143,6 @@
end
private
-
def each_chunk(&block)
@buf.each(&block)
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/action_dispatch/http/url.rb
new/lib/action_dispatch/http/url.rb
--- old/lib/action_dispatch/http/url.rb 2020-03-19 17:42:38.000000000 +0100
+++ new/lib/action_dispatch/http/url.rb 2020-05-06 20:00:05.000000000 +0200
@@ -78,7 +78,6 @@
end
private
-
def add_params(path, params)
params = { params: params } unless params.is_a?(Hash)
params.reject! { |_, v| v.to_param.nil? }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/action_dispatch/journey/formatter.rb
new/lib/action_dispatch/journey/formatter.rb
--- old/lib/action_dispatch/journey/formatter.rb 2020-03-19
17:42:38.000000000 +0100
+++ new/lib/action_dispatch/journey/formatter.rb 2020-05-06
20:00:05.000000000 +0200
@@ -62,7 +62,6 @@
end
private
-
def extract_parameterized_parts(route, options, recall, parameterize =
nil)
parameterized_parts = recall.merge(options)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/action_dispatch/journey/gtg/builder.rb
new/lib/action_dispatch/journey/gtg/builder.rb
--- old/lib/action_dispatch/journey/gtg/builder.rb 2020-03-19
17:42:38.000000000 +0100
+++ new/lib/action_dispatch/journey/gtg/builder.rb 2020-05-06
20:00:05.000000000 +0200
@@ -128,7 +128,6 @@
end
private
-
def followpos_table
@followpos ||= build_followpos
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/action_dispatch/journey/gtg/transition_table.rb
new/lib/action_dispatch/journey/gtg/transition_table.rb
--- old/lib/action_dispatch/journey/gtg/transition_table.rb 2020-03-19
17:42:38.000000000 +0100
+++ new/lib/action_dispatch/journey/gtg/transition_table.rb 2020-05-06
20:00:05.000000000 +0200
@@ -141,7 +141,6 @@
end
private
-
def states_hash_for(sym)
case sym
when String
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/action_dispatch/journey/nfa/transition_table.rb
new/lib/action_dispatch/journey/nfa/transition_table.rb
--- old/lib/action_dispatch/journey/nfa/transition_table.rb 2020-03-19
17:42:38.000000000 +0100
+++ new/lib/action_dispatch/journey/nfa/transition_table.rb 2020-05-06
20:00:05.000000000 +0200
@@ -94,7 +94,6 @@
end
private
-
def inverted
return @inverted if @inverted
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/action_dispatch/journey/path/pattern.rb
new/lib/action_dispatch/journey/path/pattern.rb
--- old/lib/action_dispatch/journey/path/pattern.rb 2020-03-19
17:42:38.000000000 +0100
+++ new/lib/action_dispatch/journey/path/pattern.rb 2020-05-06
20:00:05.000000000 +0200
@@ -174,7 +174,6 @@
end
private
-
def regexp_visitor
@anchored ? AnchoredRegexp : UnanchoredRegexp
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/action_dispatch/journey/router.rb
new/lib/action_dispatch/journey/router.rb
--- old/lib/action_dispatch/journey/router.rb 2020-03-19 17:42:38.000000000
+0100
+++ new/lib/action_dispatch/journey/router.rb 2020-05-06 20:00:05.000000000
+0200
@@ -81,7 +81,6 @@
end
private
-
def partitioned_routes
routes.partition { |r|
r.path.anchored && r.ast.grep(Nodes::Symbol).all? { |n|
n.default_regexp? }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/action_dispatch/journey/routes.rb
new/lib/action_dispatch/journey/routes.rb
--- old/lib/action_dispatch/journey/routes.rb 2020-03-19 17:42:38.000000000
+0100
+++ new/lib/action_dispatch/journey/routes.rb 2020-05-06 20:00:05.000000000
+0200
@@ -71,7 +71,6 @@
end
private
-
def clear_cache!
@ast = nil
@simulator = nil
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/action_dispatch/journey/scanner.rb
new/lib/action_dispatch/journey/scanner.rb
--- old/lib/action_dispatch/journey/scanner.rb 2020-03-19 17:42:38.000000000
+0100
+++ new/lib/action_dispatch/journey/scanner.rb 2020-05-06 20:00:05.000000000
+0200
@@ -33,7 +33,6 @@
end
private
-
# takes advantage of String @- deduping capabilities in Ruby 2.5
upwards
# see: https://bugs.ruby-lang.org/issues/13077
def dedup_scan(regex)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/action_dispatch/journey/visitors.rb
new/lib/action_dispatch/journey/visitors.rb
--- old/lib/action_dispatch/journey/visitors.rb 2020-03-19 17:42:38.000000000
+0100
+++ new/lib/action_dispatch/journey/visitors.rb 2020-05-06 20:00:05.000000000
+0200
@@ -59,7 +59,6 @@
end
private
-
def visit(node)
send(DISPATCH_CACHE[node.type], node)
end
@@ -168,7 +167,6 @@
class String < FunctionalVisitor # :nodoc:
private
-
def binary(node, seed)
visit(node.right, visit(node.left, seed))
end
@@ -214,7 +212,6 @@
end
private
-
def binary(node, seed)
seed.last.concat node.children.map { |c|
"#{node.object_id} -> #{c.object_id};"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/action_dispatch/middleware/cookies.rb
new/lib/action_dispatch/middleware/cookies.rb
--- old/lib/action_dispatch/middleware/cookies.rb 2020-03-19
17:42:38.000000000 +0100
+++ new/lib/action_dispatch/middleware/cookies.rb 2020-05-06
20:00:05.000000000 +0200
@@ -252,7 +252,6 @@
end
private
-
def upgrade_legacy_hmac_aes_cbc_cookies?
request.secret_key_base.present? &&
request.encrypted_signed_cookie_salt.present? &&
@@ -428,7 +427,6 @@
mattr_accessor :always_write_cookie, default: false
private
-
def escape(string)
::Rack::Utils.escape(string)
end
@@ -573,7 +571,8 @@
secret = request.key_generator.generate_key(request.signed_cookie_salt)
@verifier = ActiveSupport::MessageVerifier.new(secret, digest:
signed_cookie_digest, serializer: SERIALIZER)
- request.cookies_rotations.signed.each do |*secrets, **options|
+ request.cookies_rotations.signed.each do |(*secrets)|
+ options = secrets.extract_options!
@verifier.rotate(*secrets, serializer: SERIALIZER, **options)
end
end
@@ -586,7 +585,7 @@
end
def commit(name, options)
- options[:value] = @verifier.generate(serialize(options[:value]),
cookie_metadata(name, options))
+ options[:value] = @verifier.generate(serialize(options[:value]),
**cookie_metadata(name, options))
raise CookieOverflow if options[:value].bytesize > MAX_COOKIE_SIZE
end
@@ -609,7 +608,8 @@
@encryptor = ActiveSupport::MessageEncryptor.new(secret,
sign_secret, cipher: "aes-256-cbc", serializer: SERIALIZER)
end
- request.cookies_rotations.encrypted.each do |*secrets, **options|
+ request.cookies_rotations.encrypted.each do |(*secrets)|
+ options = secrets.extract_options!
@encryptor.rotate(*secrets, serializer: SERIALIZER, **options)
end
@@ -632,7 +632,7 @@
end
def commit(name, options)
- options[:value] =
@encryptor.encrypt_and_sign(serialize(options[:value]), cookie_metadata(name,
options))
+ options[:value] =
@encryptor.encrypt_and_sign(serialize(options[:value]), **cookie_metadata(name,
options))
raise CookieOverflow if options[:value].bytesize > MAX_COOKIE_SIZE
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/action_dispatch/middleware/debug_exceptions.rb
new/lib/action_dispatch/middleware/debug_exceptions.rb
--- old/lib/action_dispatch/middleware/debug_exceptions.rb 2020-03-19
17:42:38.000000000 +0100
+++ new/lib/action_dispatch/middleware/debug_exceptions.rb 2020-05-06
20:00:05.000000000 +0200
@@ -44,7 +44,6 @@
end
private
-
def invoke_interceptors(request, exception)
backtrace_cleaner =
request.get_header("action_dispatch.backtrace_cleaner")
wrapper = ExceptionWrapper.new(backtrace_cleaner, exception)
@@ -137,6 +136,7 @@
def log_error(request, wrapper)
logger = logger(request)
+
return unless logger
exception = wrapper.exception
@@ -157,10 +157,14 @@
end
def log_array(logger, array)
+ lines = Array(array)
+
+ return if lines.empty?
+
if logger.formatter && logger.formatter.respond_to?(:tags_text)
- logger.fatal array.join("\n#{logger.formatter.tags_text}")
+ logger.fatal lines.join("\n#{logger.formatter.tags_text}")
else
- logger.fatal array.join("\n")
+ logger.fatal lines.join("\n")
end
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/action_dispatch/middleware/debug_view.rb
new/lib/action_dispatch/middleware/debug_view.rb
--- old/lib/action_dispatch/middleware/debug_view.rb 2020-03-19
17:42:38.000000000 +0100
+++ new/lib/action_dispatch/middleware/debug_view.rb 2020-05-06
20:00:05.000000000 +0200
@@ -58,11 +58,9 @@
end
def params_valid?
- begin
- @request.parameters
- rescue ActionController::BadRequest
- false
- end
+ @request.parameters
+ rescue ActionController::BadRequest
+ false
end
end
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/action_dispatch/middleware/exception_wrapper.rb
new/lib/action_dispatch/middleware/exception_wrapper.rb
--- old/lib/action_dispatch/middleware/exception_wrapper.rb 2020-03-19
17:42:38.000000000 +0100
+++ new/lib/action_dispatch/middleware/exception_wrapper.rb 2020-05-06
20:00:05.000000000 +0200
@@ -130,7 +130,6 @@
end
private
-
def backtrace
Array(@exception.backtrace)
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/action_dispatch/middleware/host_authorization.rb
new/lib/action_dispatch/middleware/host_authorization.rb
--- old/lib/action_dispatch/middleware/host_authorization.rb 2020-03-19
17:42:38.000000000 +0100
+++ new/lib/action_dispatch/middleware/host_authorization.rb 2020-05-06
20:00:05.000000000 +0200
@@ -30,7 +30,6 @@
end
private
-
def sanitize_hosts(hosts)
Array(hosts).map do |host|
case host
@@ -87,7 +86,6 @@
end
private
-
def authorized?(request)
origin_host = request.get_header("HTTP_HOST").to_s.sub(/:\d+\z/, "")
forwarded_host =
request.x_forwarded_host.to_s.split(/,\s?/).last.to_s.sub(/:\d+\z/, "")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/action_dispatch/middleware/public_exceptions.rb
new/lib/action_dispatch/middleware/public_exceptions.rb
--- old/lib/action_dispatch/middleware/public_exceptions.rb 2020-03-19
17:42:38.000000000 +0100
+++ new/lib/action_dispatch/middleware/public_exceptions.rb 2020-05-06
20:00:05.000000000 +0200
@@ -32,7 +32,6 @@
end
private
-
def render(status, content_type, body)
format = "to_#{content_type.to_sym}" if content_type
if format && body.respond_to?(format)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/action_dispatch/middleware/remote_ip.rb
new/lib/action_dispatch/middleware/remote_ip.rb
--- old/lib/action_dispatch/middleware/remote_ip.rb 2020-03-19
17:42:38.000000000 +0100
+++ new/lib/action_dispatch/middleware/remote_ip.rb 2020-05-06
20:00:05.000000000 +0200
@@ -156,7 +156,6 @@
end
private
-
def ips_from(header) # :doc:
return [] unless header
# Split the comma-separated list into an array of strings.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/lib/action_dispatch/middleware/session/abstract_store.rb
new/lib/action_dispatch/middleware/session/abstract_store.rb
--- old/lib/action_dispatch/middleware/session/abstract_store.rb
2020-03-19 17:42:38.000000000 +0100
+++ new/lib/action_dispatch/middleware/session/abstract_store.rb
2020-05-06 20:00:05.000000000 +0200
@@ -30,7 +30,6 @@
end
private
-
def initialize_sid # :doc:
@default_options.delete(:sidbits)
@default_options.delete(:secure_random)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/lib/action_dispatch/middleware/session/cookie_store.rb
new/lib/action_dispatch/middleware/session/cookie_store.rb
--- old/lib/action_dispatch/middleware/session/cookie_store.rb 2020-03-19
17:42:38.000000000 +0100
+++ new/lib/action_dispatch/middleware/session/cookie_store.rb 2020-05-06
20:00:05.000000000 +0200
@@ -76,7 +76,6 @@
end
private
-
def extract_session_id(req)
stale_session_check! do
sid = unpacked_cookie_data(req)["session_id"]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/action_dispatch/middleware/show_exceptions.rb
new/lib/action_dispatch/middleware/show_exceptions.rb
--- old/lib/action_dispatch/middleware/show_exceptions.rb 2020-03-19
17:42:38.000000000 +0100
+++ new/lib/action_dispatch/middleware/show_exceptions.rb 2020-05-06
20:00:05.000000000 +0200
@@ -40,7 +40,6 @@
end
private
-
def render_exception(request, exception)
backtrace_cleaner = request.get_header
"action_dispatch.backtrace_cleaner"
wrapper = ExceptionWrapper.new(backtrace_cleaner, exception)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/action_dispatch/middleware/stack.rb
new/lib/action_dispatch/middleware/stack.rb
--- old/lib/action_dispatch/middleware/stack.rb 2020-03-19 17:42:38.000000000
+0100
+++ new/lib/action_dispatch/middleware/stack.rb 2020-05-06 20:00:05.000000000
+0200
@@ -91,6 +91,7 @@
def unshift(klass, *args, &block)
middlewares.unshift(build_middleware(klass, args, block))
end
+ ruby2_keywords(:unshift) if respond_to?(:ruby2_keywords, true)
def initialize_copy(other)
self.middlewares = other.middlewares.dup
@@ -100,6 +101,7 @@
index = assert_index(index, :before)
middlewares.insert(index, build_middleware(klass, args, block))
end
+ ruby2_keywords(:insert) if respond_to?(:ruby2_keywords, true)
alias_method :insert_before, :insert
@@ -107,12 +109,14 @@
index = assert_index(index, :after)
insert(index + 1, *args, &block)
end
+ ruby2_keywords(:insert_after) if respond_to?(:ruby2_keywords, true)
def swap(target, *args, &block)
index = assert_index(target, :before)
insert(index, *args, &block)
middlewares.delete_at(index + 1)
end
+ ruby2_keywords(:swap) if respond_to?(:ruby2_keywords, true)
def delete(target)
middlewares.delete_if { |m| m.klass == target }
@@ -121,6 +125,7 @@
def use(klass, *args, &block)
middlewares.push(build_middleware(klass, args, block))
end
+ ruby2_keywords(:use) if respond_to?(:ruby2_keywords, true)
def build(app = nil, &block)
instrumenting =
ActiveSupport::Notifications.notifier.listening?(InstrumentationProxy::EVENT_NAME)
@@ -134,7 +139,6 @@
end
private
-
def assert_index(index, where)
i = index.is_a?(Integer) ? index : middlewares.index { |m| m.klass ==
index }
raise "No such middleware to insert #{where}: #{index.inspect}" unless
i
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/action_dispatch/middleware/static.rb
new/lib/action_dispatch/middleware/static.rb
--- old/lib/action_dispatch/middleware/static.rb 2020-03-19
17:42:38.000000000 +0100
+++ new/lib/action_dispatch/middleware/static.rb 2020-05-06
20:00:05.000000000 +0200
@@ -42,7 +42,7 @@
false
end
}
- return ::Rack::Utils.escape_path(match).b
+ ::Rack::Utils.escape_path(match).b
end
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/action_dispatch/request/session.rb
new/lib/action_dispatch/request/session.rb
--- old/lib/action_dispatch/request/session.rb 2020-03-19 17:42:38.000000000
+0100
+++ new/lib/action_dispatch/request/session.rb 2020-05-06 20:00:05.000000000
+0200
@@ -222,7 +222,6 @@
end
private
-
def load_for_read!
load! if !loaded? && exists?
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/action_dispatch/routing/inspector.rb
new/lib/action_dispatch/routing/inspector.rb
--- old/lib/action_dispatch/routing/inspector.rb 2020-03-19
17:42:38.000000000 +0100
+++ new/lib/action_dispatch/routing/inspector.rb 2020-05-06
20:00:05.000000000 +0200
@@ -177,7 +177,6 @@
end
private
-
def draw_section(routes)
header_lengths = ["Prefix", "Verb", "URI Pattern"].map(&:length)
name_width, verb_width, path_width =
widths(routes).zip(header_lengths).map(&:max)
@@ -210,7 +209,6 @@
end
private
-
def draw_expanded_section(routes)
routes.map.each_with_index do |r, i|
<<~MESSAGE.chomp
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/action_dispatch/routing/mapper.rb
new/lib/action_dispatch/routing/mapper.rb
--- old/lib/action_dispatch/routing/mapper.rb 2020-03-19 17:42:38.000000000
+0100
+++ new/lib/action_dispatch/routing/mapper.rb 2020-05-06 20:00:05.000000000
+0200
@@ -362,7 +362,7 @@
def translate_controller(controller)
return controller if Regexp === controller
- return controller.to_s if controller =~ /\A[a-z_0-9][a-z_0-9\/]*\z/
+ return controller.to_s if
/\A[a-z_0-9][a-z_0-9\/]*\z/.match?(controller)
yield
end
@@ -398,7 +398,7 @@
# for root cases, where the latter is the correct one.
def self.normalize_path(path)
path = Journey::Router::Utils.normalize_path(path)
- path.gsub!(%r{/(\(+)/?}, '\1/') unless path =~ %r{^/(\(+[^)]+\)){1,}$}
+ path.gsub!(%r{/(\(+)/?}, '\1/') unless
%r{^/(\(+[^)]+\)){1,}$}.match?(path)
path
end
@@ -1668,7 +1668,6 @@
end
private
-
def parent_resource
@scope[:scope_level_resource]
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/action_dispatch/routing/polymorphic_routes.rb
new/lib/action_dispatch/routing/polymorphic_routes.rb
--- old/lib/action_dispatch/routing/polymorphic_routes.rb 2020-03-19
17:42:38.000000000 +0100
+++ new/lib/action_dispatch/routing/polymorphic_routes.rb 2020-05-06
20:00:05.000000000 +0200
@@ -156,7 +156,6 @@
end
private
-
def polymorphic_url_for_action(action, record_or_hash, options)
polymorphic_url(record_or_hash, options.merge(action: action))
end
@@ -323,7 +322,6 @@
end
private
-
def polymorphic_mapping(target, record)
if record.respond_to?(:to_model)
target._routes.polymorphic_mappings[record.to_model.model_name.name]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/action_dispatch/routing/route_set.rb
new/lib/action_dispatch/routing/route_set.rb
--- old/lib/action_dispatch/routing/route_set.rb 2020-03-19
17:42:38.000000000 +0100
+++ new/lib/action_dispatch/routing/route_set.rb 2020-05-06
20:00:05.000000000 +0200
@@ -40,7 +40,6 @@
end
private
-
def controller(req)
req.controller_class
rescue NameError => e
@@ -59,7 +58,6 @@
end
private
-
def controller(_); @controller_class; end
end
@@ -215,7 +213,6 @@
end
private
-
def optimized_helper(args)
params = parameterize_args(args) do
raise_generation_error(args)
@@ -839,7 +836,7 @@
def recognize_path(path, environment = {})
method = (environment[:method] || "GET").to_s.upcase
- path = Journey::Router::Utils.normalize_path(path) unless path =~
%r{://}
+ path = Journey::Router::Utils.normalize_path(path) unless
%r{://}.match?(path)
extras = environment[:extras] || {}
begin
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/action_dispatch/routing/url_for.rb
new/lib/action_dispatch/routing/url_for.rb
--- old/lib/action_dispatch/routing/url_for.rb 2020-03-19 17:42:38.000000000
+0100
+++ new/lib/action_dispatch/routing/url_for.rb 2020-05-06 20:00:05.000000000
+0200
@@ -215,13 +215,11 @@
end
protected
-
def optimize_routes_generation?
_routes.optimize_routes_generation? && default_url_options.empty?
end
private
-
def _with_routes(routes) # :doc:
old_routes, @_routes = @_routes, routes
yield
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/action_dispatch/system_test_case.rb
new/lib/action_dispatch/system_test_case.rb
--- old/lib/action_dispatch/system_test_case.rb 2020-03-19 17:42:38.000000000
+0100
+++ new/lib/action_dispatch/system_test_case.rb 2020-05-06 20:00:05.000000000
+0200
@@ -118,6 +118,7 @@
def initialize(*) # :nodoc:
super
+ self.class.driven_by(:selenium) unless self.class.driver?
self.class.driver.use
@proxy_route = if ActionDispatch.test_app
Class.new do
@@ -166,11 +167,9 @@
def self.driven_by(driver, using: :chrome, screen_size: [1400, 1400],
options: {}, &capabilities)
driver_options = { using: using, screen_size: screen_size, options:
options }
- self.driver = SystemTesting::Driver.new(driver, driver_options,
&capabilities)
+ self.driver = SystemTesting::Driver.new(driver, **driver_options,
&capabilities)
end
- driven_by :selenium
-
def method_missing(method, *args, &block)
if @proxy_route.respond_to?(method)
@proxy_route.send(method, *args, &block)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/action_dispatch/system_testing/driver.rb
new/lib/action_dispatch/system_testing/driver.rb
--- old/lib/action_dispatch/system_testing/driver.rb 2020-03-19
17:42:38.000000000 +0100
+++ new/lib/action_dispatch/system_testing/driver.rb 2020-05-06
20:00:05.000000000 +0200
@@ -10,7 +10,7 @@
@options = options[:options]
@capabilities = capabilities
- @browser.preload
+ @browser.preload unless name == :rack_test
end
def use
@@ -45,7 +45,7 @@
end
def register_selenium(app)
- Capybara::Selenium::Driver.new(app, { browser: @browser.type
}.merge(browser_options)).tap do |driver|
+ Capybara::Selenium::Driver.new(app, **{ browser: @browser.type
}.merge(browser_options)).tap do |driver|
driver.browser.manage.window.size =
Selenium::WebDriver::Dimension.new(*@screen_size)
end
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/action_dispatch/testing/assertion_response.rb
new/lib/action_dispatch/testing/assertion_response.rb
--- old/lib/action_dispatch/testing/assertion_response.rb 2020-03-19
17:42:38.000000000 +0100
+++ new/lib/action_dispatch/testing/assertion_response.rb 2020-05-06
20:00:05.000000000 +0200
@@ -35,7 +35,6 @@
end
private
-
def code_from_name(name)
GENERIC_RESPONSE_CODES[name] ||
Rack::Utils::SYMBOL_TO_STATUS_CODE[name]
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/action_dispatch/testing/integration.rb
new/lib/action_dispatch/testing/integration.rb
--- old/lib/action_dispatch/testing/integration.rb 2020-03-19
17:42:38.000000000 +0100
+++ new/lib/action_dispatch/testing/integration.rb 2020-05-06
20:00:05.000000000 +0200
@@ -44,8 +44,8 @@
# Performs a HEAD request with the given parameters. See
ActionDispatch::Integration::Session#process
# for more details.
- def head(path, *args)
- process(:head, path, *args)
+ def head(path, **args)
+ process(:head, path, **args)
end
# Follow a single redirect response. If the last response was not a
@@ -310,6 +310,7 @@
APP_SESSIONS = {}
attr_reader :app
+ attr_accessor :root_session # :nodoc:
def initialize(*args, &blk)
super(*args, &blk)
@@ -348,15 +349,19 @@
end
%w(get post patch put head delete cookies assigns follow_redirect!).each
do |method|
- define_method(method) do |*args|
+ define_method(method) do |*args, **options|
# reset the html_document variable, except for cookies/assigns calls
unless method == "cookies" || method == "assigns"
@html_document = nil
end
- integration_session.__send__(method, *args).tap do
- copy_session_variables!
+ result = if options.any?
+ integration_session.__send__(method, *args, **options)
+ else
+ integration_session.__send__(method, *args)
end
+ copy_session_variables!
+ result
end
end
@@ -373,10 +378,19 @@
def open_session
dup.tap do |session|
session.reset!
+ session.root_session = self.root_session || self
yield session if block_given?
end
end
+ def assertions # :nodoc:
+ root_session ? root_session.assertions : super
+ end
+
+ def assertions=(assertions) # :nodoc:
+ root_session ? root_session.assertions = assertions : super
+ end
+
# Copy the instance variables from the current session instance into the
# test instance.
def copy_session_variables! #:nodoc:
@@ -408,6 +422,7 @@
super
end
end
+ ruby2_keywords(:method_missing) if respond_to?(:ruby2_keywords, true)
end
end
@@ -640,8 +655,8 @@
@@app = app
end
- def register_encoder(*args)
- RequestEncoder.register_encoder(*args)
+ def register_encoder(*args, **options)
+ RequestEncoder.register_encoder(*args, **options)
end
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/action_dispatch.rb new/lib/action_dispatch.rb
--- old/lib/action_dispatch.rb 2020-03-19 17:42:38.000000000 +0100
+++ new/lib/action_dispatch.rb 2020-05-06 20:00:05.000000000 +0200
@@ -40,6 +40,9 @@
class IllegalStateError < StandardError
end
+ class MissingController < NameError
+ end
+
eager_autoload do
autoload_under "http" do
autoload :ContentSecurityPolicy
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/action_pack/gem_version.rb
new/lib/action_pack/gem_version.rb
--- old/lib/action_pack/gem_version.rb 2020-03-19 17:42:38.000000000 +0100
+++ new/lib/action_pack/gem_version.rb 2020-05-06 20:00:05.000000000 +0200
@@ -9,8 +9,8 @@
module VERSION
MAJOR = 6
MINOR = 0
- TINY = 2
- PRE = "2"
+ TINY = 3
+ PRE = nil
STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/metadata new/metadata
--- old/metadata 2020-03-19 17:42:38.000000000 +0100
+++ new/metadata 2020-05-06 20:00:05.000000000 +0200
@@ -1,14 +1,14 @@
--- !ruby/object:Gem::Specification
name: actionpack
version: !ruby/object:Gem::Version
- version: 6.0.2.2
+ version: 6.0.3
platform: ruby
authors:
- David Heinemeier Hansson
autorequire:
bindir: bin
cert_chain: []
-date: 2020-03-19 00:00:00.000000000 Z
+date: 2020-05-06 00:00:00.000000000 Z
dependencies:
- !ruby/object:Gem::Dependency
name: activesupport
@@ -16,14 +16,14 @@
requirements:
- - '='
- !ruby/object:Gem::Version
- version: 6.0.2.2
+ version: 6.0.3
type: :runtime
prerelease: false
version_requirements: !ruby/object:Gem::Requirement
requirements:
- - '='
- !ruby/object:Gem::Version
- version: 6.0.2.2
+ version: 6.0.3
- !ruby/object:Gem::Dependency
name: rack
requirement: !ruby/object:Gem::Requirement
@@ -98,28 +98,28 @@
requirements:
- - '='
- !ruby/object:Gem::Version
- version: 6.0.2.2
+ version: 6.0.3
type: :runtime
prerelease: false
version_requirements: !ruby/object:Gem::Requirement
requirements:
- - '='
- !ruby/object:Gem::Version
- version: 6.0.2.2
+ version: 6.0.3
- !ruby/object:Gem::Dependency
name: activemodel
requirement: !ruby/object:Gem::Requirement
requirements:
- - '='
- !ruby/object:Gem::Version
- version: 6.0.2.2
+ version: 6.0.3
type: :development
prerelease: false
version_requirements: !ruby/object:Gem::Requirement
requirements:
- - '='
- !ruby/object:Gem::Version
- version: 6.0.2.2
+ version: 6.0.3
description: Web apps on Rails. Simple, battle-tested conventions for building
and
testing MVC web applications. Works with any Rack-compatible server.
email: [email protected]
@@ -310,10 +310,10 @@
- MIT
metadata:
bug_tracker_uri: https://github.com/rails/rails/issues
- changelog_uri:
https://github.com/rails/rails/blob/v6.0.2.2/actionpack/CHANGELOG.md
- documentation_uri: https://api.rubyonrails.org/v6.0.2.2/
- mailing_list_uri: https://groups.google.com/forum/#!forum/rubyonrails-talk
- source_code_uri: https://github.com/rails/rails/tree/v6.0.2.2/actionpack
+ changelog_uri:
https://github.com/rails/rails/blob/v6.0.3/actionpack/CHANGELOG.md
+ documentation_uri: https://api.rubyonrails.org/v6.0.3/
+ mailing_list_uri: https://discuss.rubyonrails.org/c/rubyonrails-talk
+ source_code_uri: https://github.com/rails/rails/tree/v6.0.3/actionpack
post_install_message:
rdoc_options: []
require_paths:
@@ -330,7 +330,7 @@
version: '0'
requirements:
- none
-rubygems_version: 3.0.3
+rubygems_version: 3.1.2
signing_key:
specification_version: 4
summary: Web-flow and rendering framework putting the VC in MVC (part of
Rails).
++++++ gem2rpm.yml ++++++
--- /var/tmp/diff_new_pack.63eiGL/_old 2020-05-11 13:38:09.508715689 +0200
+++ /var/tmp/diff_new_pack.63eiGL/_new 2020-05-11 13:38:09.508715689 +0200
@@ -9,7 +9,7 @@
# ## used by gem2rpm
# :license: MIT or Ruby
# ## used by gem2rpm and gem_packages
-# :version_suffix: -x_y
+:version_suffix: '-6.0'
# ## used by gem2rpm and gem_packages
# :disable_docs: true
# ## used by gem2rpm