From 4355f50cfe76370e94b6549bf7f2ddae67b22405 Mon Sep 17 00:00:00 2001 From: BrewTestBot <1589480+BrewTestBot@users.noreply.github.com> Date: Mon, 5 Jul 2021 18:05:02 +0000 Subject: [PATCH] brew vendor-gems: commit updates. --- .../Homebrew/vendor/bundle/bundler/setup.rb | 2 +- .../lib/addressable.rb | 0 .../lib/addressable/idna.rb | 0 .../lib/addressable/idna/native.rb | 0 .../lib/addressable/idna/pure.rb | 66 ++++++++++--------- .../lib/addressable/template.rb | 64 +++++++----------- .../lib/addressable/uri.rb | 61 ++++++++++++----- .../lib/addressable/version.rb | 2 +- 8 files changed, 105 insertions(+), 90 deletions(-) rename Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/{addressable-2.7.0 => addressable-2.8.0}/lib/addressable.rb (100%) rename Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/{addressable-2.7.0 => addressable-2.8.0}/lib/addressable/idna.rb (100%) rename Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/{addressable-2.7.0 => addressable-2.8.0}/lib/addressable/idna/native.rb (100%) rename Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/{addressable-2.7.0 => addressable-2.8.0}/lib/addressable/idna/pure.rb (94%) rename Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/{addressable-2.7.0 => addressable-2.8.0}/lib/addressable/template.rb (96%) rename Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/{addressable-2.7.0 => addressable-2.8.0}/lib/addressable/uri.rb (97%) rename Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/{addressable-2.7.0 => addressable-2.8.0}/lib/addressable/version.rb (98%) diff --git a/Library/Homebrew/vendor/bundle/bundler/setup.rb b/Library/Homebrew/vendor/bundle/bundler/setup.rb index b1a28ddbf7..4046de9668 100644 --- a/Library/Homebrew/vendor/bundle/bundler/setup.rb +++ b/Library/Homebrew/vendor/bundle/bundler/setup.rb @@ -10,7 +10,7 @@ $:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/tzinfo-2.0.4/lib" $:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/zeitwerk-2.4.2/lib" $:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/activesupport-6.1.4/lib" $:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/public_suffix-4.0.6/lib" -$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/addressable-2.7.0/lib" +$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/addressable-2.8.0/lib" $:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/ast-2.4.2/lib" $:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/bindata-2.4.10/lib" $:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/extensions/x86_64-darwin-14/2.6.0-static/msgpack-1.4.2" diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/addressable-2.7.0/lib/addressable.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/addressable-2.8.0/lib/addressable.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/addressable-2.7.0/lib/addressable.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/addressable-2.8.0/lib/addressable.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/addressable-2.7.0/lib/addressable/idna.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/addressable-2.8.0/lib/addressable/idna.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/addressable-2.7.0/lib/addressable/idna.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/addressable-2.8.0/lib/addressable/idna.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/addressable-2.7.0/lib/addressable/idna/native.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/addressable-2.8.0/lib/addressable/idna/native.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/addressable-2.7.0/lib/addressable/idna/native.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/addressable-2.8.0/lib/addressable/idna/native.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/addressable-2.7.0/lib/addressable/idna/pure.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/addressable-2.8.0/lib/addressable/idna/pure.rb similarity index 94% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/addressable-2.7.0/lib/addressable/idna/pure.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/addressable-2.8.0/lib/addressable/idna/pure.rb index f7c553c669..7a0c1fda22 100644 --- a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/addressable-2.7.0/lib/addressable/idna/pure.rb +++ b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/addressable-2.8.0/lib/addressable/idna/pure.rb @@ -178,44 +178,46 @@ module Addressable end p = [] - ucs4_to_utf8 = lambda do |ch| - if ch < 128 - p << ch - elsif ch < 2048 - p << (ch >> 6 | 192) - p << (ch & 63 | 128) - elsif ch < 0x10000 - p << (ch >> 12 | 224) - p << (ch >> 6 & 63 | 128) - p << (ch & 63 | 128) - elsif ch < 0x200000 - p << (ch >> 18 | 240) - p << (ch >> 12 & 63 | 128) - p << (ch >> 6 & 63 | 128) - p << (ch & 63 | 128) - elsif ch < 0x4000000 - p << (ch >> 24 | 248) - p << (ch >> 18 & 63 | 128) - p << (ch >> 12 & 63 | 128) - p << (ch >> 6 & 63 | 128) - p << (ch & 63 | 128) - elsif ch < 0x80000000 - p << (ch >> 30 | 252) - p << (ch >> 24 & 63 | 128) - p << (ch >> 18 & 63 | 128) - p << (ch >> 12 & 63 | 128) - p << (ch >> 6 & 63 | 128) - p << (ch & 63 | 128) - end - end - ucs4_to_utf8.call(ch_one) - ucs4_to_utf8.call(ch_two) + ucs4_to_utf8(ch_one, p) + ucs4_to_utf8(ch_two, p) return lookup_unicode_composition(p) end private_class_method :unicode_compose_pair + def self.ucs4_to_utf8(char, buffer) + if char < 128 + buffer << char + elsif char < 2048 + buffer << (char >> 6 | 192) + buffer << (char & 63 | 128) + elsif char < 0x10000 + buffer << (char >> 12 | 224) + buffer << (char >> 6 & 63 | 128) + buffer << (char & 63 | 128) + elsif char < 0x200000 + buffer << (char >> 18 | 240) + buffer << (char >> 12 & 63 | 128) + buffer << (char >> 6 & 63 | 128) + buffer << (char & 63 | 128) + elsif char < 0x4000000 + buffer << (char >> 24 | 248) + buffer << (char >> 18 & 63 | 128) + buffer << (char >> 12 & 63 | 128) + buffer << (char >> 6 & 63 | 128) + buffer << (char & 63 | 128) + elsif char < 0x80000000 + buffer << (char >> 30 | 252) + buffer << (char >> 24 & 63 | 128) + buffer << (char >> 18 & 63 | 128) + buffer << (char >> 12 & 63 | 128) + buffer << (char >> 6 & 63 | 128) + buffer << (char & 63 | 128) + end + end + private_class_method :ucs4_to_utf8 + def self.unicode_sort_canonical(unpacked) unpacked = unpacked.dup i = 1 diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/addressable-2.7.0/lib/addressable/template.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/addressable-2.8.0/lib/addressable/template.rb similarity index 96% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/addressable-2.7.0/lib/addressable/template.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/addressable-2.8.0/lib/addressable/template.rb index 2696695368..45f6ae69ee 100644 --- a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/addressable-2.7.0/lib/addressable/template.rb +++ b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/addressable-2.8.0/lib/addressable/template.rb @@ -37,7 +37,7 @@ module Addressable Addressable::URI::CharacterClasses::DIGIT + '_' var_char = - "(?:(?:[#{variable_char_class}]|%[a-fA-F0-9][a-fA-F0-9])+)" + "(?>(?:[#{variable_char_class}]|%[a-fA-F0-9][a-fA-F0-9])+)" RESERVED = "(?:[#{anything}]|%[a-fA-F0-9][a-fA-F0-9])" UNRESERVED = @@ -412,7 +412,7 @@ module Addressable # match.captures # #=> ["a", ["b", "c"]] def match(uri, processor=nil) - uri = Addressable::URI.parse(uri) + uri = Addressable::URI.parse(uri) unless uri.is_a?(Addressable::URI) mapping = {} # First, we need to process the pattern, and extract the values. @@ -653,40 +653,6 @@ module Addressable self.to_regexp.named_captures end - ## - # Generates a route result for a given set of parameters. - # Should only be used by rack-mount. - # - # @param params [Hash] The set of parameters used to expand the template. - # @param recall [Hash] Default parameters used to expand the template. - # @param options [Hash] Either a `:processor` or a `:parameterize` block. - # - # @api private - def generate(params={}, recall={}, options={}) - merged = recall.merge(params) - if options[:processor] - processor = options[:processor] - elsif options[:parameterize] - # TODO: This is sending me into fits trying to shoe-horn this into - # the existing API. I think I've got this backwards and processors - # should be a set of 4 optional blocks named :validate, :transform, - # :match, and :restore. Having to use a singleton here is a huge - # code smell. - processor = Object.new - class <Regexp that parses a template pattern. Memoizes the + # value if template processor not set (processors may not be deterministic) + # + # @param [String] pattern The URI template pattern. + # @param [#match] processor The template processor to use. + # + # @return [Array, Regexp] + # An array of expansion variables nad a regular expression which may be + # used to parse a template pattern + def parse_template_pattern(pattern, processor = nil) + if processor.nil? && pattern == @pattern + @cached_template_parse ||= + parse_new_template_pattern(pattern, processor) + else + parse_new_template_pattern(pattern, processor) + end + end + ## # Generates the Regexp that parses a template pattern. # # @param [String] pattern The URI template pattern. # @param [#match] processor The template processor to use. # - # @return [Regexp] - # A regular expression which may be used to parse a template pattern. - def parse_template_pattern(pattern, processor=nil) + # @return [Array, Regexp] + # An array of expansion variables nad a regular expression which may be + # used to parse a template pattern + def parse_new_template_pattern(pattern, processor = nil) # Escape the pattern. The two gsubs restore the escaped curly braces # back to their original form. Basically, escape everything that isn't # within an expansion. diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/addressable-2.7.0/lib/addressable/uri.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/addressable-2.8.0/lib/addressable/uri.rb similarity index 97% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/addressable-2.7.0/lib/addressable/uri.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/addressable-2.8.0/lib/addressable/uri.rb index 71a806bf63..6b5f4fa7b4 100644 --- a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/addressable-2.7.0/lib/addressable/uri.rb +++ b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/addressable-2.8.0/lib/addressable/uri.rb @@ -48,12 +48,21 @@ module Addressable PCHAR = UNRESERVED + SUB_DELIMS + "\\:\\@" SCHEME = ALPHA + DIGIT + "\\-\\+\\." HOST = UNRESERVED + SUB_DELIMS + "\\[\\:\\]" - AUTHORITY = PCHAR + AUTHORITY = PCHAR + "\\[\\:\\]" PATH = PCHAR + "\\/" QUERY = PCHAR + "\\/\\?" FRAGMENT = PCHAR + "\\/\\?" end + module NormalizeCharacterClasses + HOST = /[^#{CharacterClasses::HOST}]/ + UNRESERVED = /[^#{CharacterClasses::UNRESERVED}]/ + PCHAR = /[^#{CharacterClasses::PCHAR}]/ + SCHEME = /[^#{CharacterClasses::SCHEME}]/ + FRAGMENT = /[^#{CharacterClasses::FRAGMENT}]/ + QUERY = %r{[^a-zA-Z0-9\-\.\_\~\!\$\'\(\)\*\+\,\=\:\@\/\?%]|%(?!2B|2b)} + end + SLASH = '/' EMPTY_STR = '' @@ -73,7 +82,7 @@ module Addressable "wais" => 210, "ldap" => 389, "prospero" => 1525 - } + }.freeze ## # Returns a URI object based on the parsed string. @@ -421,7 +430,7 @@ module Addressable end class << self - alias_method :encode_component, :encode_component + alias_method :escape_component, :encode_component end ## @@ -463,7 +472,11 @@ module Addressable uri = uri.dup # Seriously, only use UTF-8. I'm really not kidding! uri.force_encoding("utf-8") - leave_encoded = leave_encoded.dup.force_encoding("utf-8") + + unless leave_encoded.empty? + leave_encoded = leave_encoded.dup.force_encoding("utf-8") + end + result = uri.gsub(/%[0-9a-f]{2}/iu) do |sequence| c = sequence[1..3].to_i(16).chr c.force_encoding("utf-8") @@ -554,7 +567,11 @@ module Addressable end.flatten.join('|')})" end - character_class = /[^#{character_class}]#{leave_re}/ + character_class = if leave_re + /[^#{character_class}]#{leave_re}/ + else + /[^#{character_class}]/ + end end # We can't perform regexps on invalid UTF sequences, but # here we need to, so switch to ASCII. @@ -878,7 +895,7 @@ module Addressable else Addressable::URI.normalize_component( self.scheme.strip.downcase, - Addressable::URI::CharacterClasses::SCHEME + Addressable::URI::NormalizeCharacterClasses::SCHEME ) end end @@ -898,7 +915,7 @@ module Addressable new_scheme = new_scheme.to_str end if new_scheme && new_scheme !~ /\A[a-z][a-z0-9\.\+\-]*\z/i - raise InvalidURIError, "Invalid scheme format: #{new_scheme}" + raise InvalidURIError, "Invalid scheme format: '#{new_scheme}'" end @scheme = new_scheme @scheme = nil if @scheme.to_s.strip.empty? @@ -933,7 +950,7 @@ module Addressable else Addressable::URI.normalize_component( self.user.strip, - Addressable::URI::CharacterClasses::UNRESERVED + Addressable::URI::NormalizeCharacterClasses::UNRESERVED ) end end @@ -990,7 +1007,7 @@ module Addressable else Addressable::URI.normalize_component( self.password.strip, - Addressable::URI::CharacterClasses::UNRESERVED + Addressable::URI::NormalizeCharacterClasses::UNRESERVED ) end end @@ -1114,6 +1131,7 @@ module Addressable # @return [String] The host component, normalized. def normalized_host return nil unless self.host + @normalized_host ||= begin if !self.host.strip.empty? result = ::Addressable::IDNA.to_ascii( @@ -1125,14 +1143,17 @@ module Addressable end result = Addressable::URI.normalize_component( result, - CharacterClasses::HOST) + NormalizeCharacterClasses::HOST + ) result else EMPTY_STR.dup end end # All normalized values should be UTF-8 - @normalized_host.force_encoding(Encoding::UTF_8) if @normalized_host + if @normalized_host && !@normalized_host.empty? + @normalized_host.force_encoding(Encoding::UTF_8) + end @normalized_host end @@ -1537,7 +1558,7 @@ module Addressable result = path.strip.split(SLASH, -1).map do |segment| Addressable::URI.normalize_component( segment, - Addressable::URI::CharacterClasses::PCHAR + Addressable::URI::NormalizeCharacterClasses::PCHAR ) end.join(SLASH) @@ -1612,11 +1633,15 @@ module Addressable modified_query_class = Addressable::URI::CharacterClasses::QUERY.dup # Make sure possible key-value pair delimiters are escaped. modified_query_class.sub!("\\&", "").sub!("\\;", "") - pairs = (self.query || "").split("&", -1) - pairs.delete_if(&:empty?) if flags.include?(:compacted) + pairs = (query || "").split("&", -1) + pairs.delete_if(&:empty?).uniq! if flags.include?(:compacted) pairs.sort! if flags.include?(:sorted) component = pairs.map do |pair| - Addressable::URI.normalize_component(pair, modified_query_class, "+") + Addressable::URI.normalize_component( + pair, + Addressable::URI::NormalizeCharacterClasses::QUERY, + "+" + ) end.join("&") component == "" ? nil : component end @@ -1675,11 +1700,13 @@ module Addressable # so it's best to make all changes in-place. pair[0] = URI.unencode_component(pair[0]) if pair[1].respond_to?(:to_str) + value = pair[1].to_str # I loathe the fact that I have to do this. Stupid HTML 4.01. # Treating '+' as a space was just an unbelievably bad idea. # There was nothing wrong with '%20'! # If it ain't broke, don't fix it! - pair[1] = URI.unencode_component(pair[1].to_str.tr("+", " ")) + value = value.tr("+", " ") if ["http", "https", nil].include?(scheme) + pair[1] = URI.unencode_component(value) end if return_type == Hash accu[pair[0]] = pair[1] @@ -1810,7 +1837,7 @@ module Addressable @normalized_fragment ||= begin component = Addressable::URI.normalize_component( self.fragment, - Addressable::URI::CharacterClasses::FRAGMENT + Addressable::URI::NormalizeCharacterClasses::FRAGMENT ) component == "" ? nil : component end diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/addressable-2.7.0/lib/addressable/version.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/addressable-2.8.0/lib/addressable/version.rb similarity index 98% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/addressable-2.7.0/lib/addressable/version.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/addressable-2.8.0/lib/addressable/version.rb index 5be5ff0905..2efe4340f3 100644 --- a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/addressable-2.7.0/lib/addressable/version.rb +++ b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/addressable-2.8.0/lib/addressable/version.rb @@ -23,7 +23,7 @@ if !defined?(Addressable::VERSION) module Addressable module VERSION MAJOR = 2 - MINOR = 7 + MINOR = 8 TINY = 0 STRING = [MAJOR, MINOR, TINY].join('.')