diff --git a/lib/addressable/template.rb b/lib/addressable/template.rb index 45f6ae69..398af17c 100644 --- a/lib/addressable/template.rb +++ b/lib/addressable/template.rb @@ -657,12 +657,12 @@ def named_captures def ordered_variable_defaults @ordered_variable_defaults ||= begin expansions, _ = parse_template_pattern(pattern) - expansions.map do |capture| + expansions.flat_map do |capture| _, _, varlist = *capture.match(EXPRESSION) varlist.split(',').map do |varspec| varspec[VARSPEC, 1] end - end.flatten + end end end diff --git a/lib/addressable/uri.rb b/lib/addressable/uri.rb index 6b5f4fa7..2550d9d1 100644 --- a/lib/addressable/uri.rb +++ b/lib/addressable/uri.rb @@ -561,10 +561,10 @@ def self.normalize_component(component, character_class= leave_re = if leave_encoded.length > 0 character_class = "#{character_class}%" unless character_class.include?('%') - "|%(?!#{leave_encoded.chars.map do |char| + "|%(?!#{leave_encoded.chars.flat_map do |char| seq = SEQUENCE_ENCODING_TABLE[char] [seq.upcase, seq.downcase] - end.flatten.join('|')})" + end.join('|')})" end character_class = if leave_re