From d3075330a6be4d7a5013c2ebdd39e97678c3ac8d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADt=20Ondruch?= Date: Fri, 13 Dec 2024 13:36:55 +0100 Subject: [PATCH] Keep using URI RFC2396 parser The default parser in URI 1.0.0 / Ruby 3.4 has been changed to RFC3986 [[1]]. This causes test failures such as: ~~~ ... snip ... Failure: GlobalIDTest#test_invalid_app_name [test/cases/global_id_test.rb:13]: ArgumentError expected but nothing was raised. rails test test/cases/global_id_test.rb:8 F ... snip ... ~~~ where underscores / ampersands are now allowed in host. Keep using URI RFC2396 parser for compatibility. Fixes #190 [1]: https://github.com/ruby/uri/pull/107 --- lib/global_id/uri/gid.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/global_id/uri/gid.rb b/lib/global_id/uri/gid.rb index 20a22a7..8af8feb 100644 --- a/lib/global_id/uri/gid.rb +++ b/lib/global_id/uri/gid.rb @@ -62,7 +62,7 @@ def validate_app(app) # URI.parse('gid://bcx') # => URI::GID instance # URI::GID.parse('gid://bcx/') # => raises URI::InvalidComponentError def parse(uri) - generic_components = URI.split(uri) << nil << true # nil parser, true arg_check + generic_components = URI.split(uri) << URI::RFC2396_Parser.new << true # nil parser, true arg_check new(*generic_components) end