Skip to content

URI::PATTERN NameError starting with version 1.0.0 #125

@jrafanie

Description

@jrafanie

Thanks in advance for your work on this library.

URI::PATTERN constant has existed for a long time, since at least ruby 2.1/ URI 0.9.11. It looks like URI 1.0.0 dropped it without deprecating it. Was this intentional?

% ruby -e "puts RUBY_VERSION; require 'uri'; puts URI::VERSION; puts URI::PATTERN"
3.3.5
0.13.1
URI::RFC2396_REGEXP::PATTERN
% ruby -e "puts RUBY_VERSION; require 'uri'; puts URI::VERSION; puts URI::PATTERN"
3.3.5
1.0.0
/Users/joerafaniello/.gem/ruby/3.3.5/gems/uri-1.0.0/lib/uri/common.rb:53:in `const_missing': uninitialized constant URI::PATTERN (NameError)
	from -e:1:in `<main>'

Running all-ruby, we can see it's been there a long time. If we can't use it, please deprecate it and suggest a replacement. Thanks!

% podman run --rm -e "ALL_RUBY_SHOW_DUP=yes" -e "ALL_RUBY_SINCE=ruby-2.1" -e "ALL_RUBY_ADDBINS=/usr/bin/ruby" rubylang/all-ruby ./all-ruby -e 'require "uri"; puts "version: #{URI::VERSION} pattern: #{URI::PATTERN}"'
WARNING: image platform (linux/amd64) does not match the expected platform (linux/arm64)
ruby-2.1.0          version: 0.9.11 pattern: URI::REGEXP::PATTERN
ruby-2.1.1          version: 0.9.11 pattern: URI::REGEXP::PATTERN
ruby-2.1.2          version: 0.9.11 pattern: URI::REGEXP::PATTERN
ruby-2.1.3          version: 0.9.11 pattern: URI::REGEXP::PATTERN
ruby-2.1.4          version: 0.9.11 pattern: URI::REGEXP::PATTERN
ruby-2.1.5          version: 0.9.11 pattern: URI::REGEXP::PATTERN
ruby-2.1.6          version: 0.9.11 pattern: URI::REGEXP::PATTERN
ruby-2.1.7          version: 0.9.11 pattern: URI::REGEXP::PATTERN
ruby-2.1.8          version: 0.9.11 pattern: URI::REGEXP::PATTERN
ruby-2.1.9          version: 0.9.11 pattern: URI::REGEXP::PATTERN
ruby-2.1.10         version: 0.9.11 pattern: URI::REGEXP::PATTERN
ruby-2.2.0-preview1 version: 0.9.11 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-2.2.0-preview2 version: 0.10.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-2.2.0-rc1      version: 0.10.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-2.2.0          version: 0.10.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-2.2.1          version: 0.10.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-2.2.2          version: 0.10.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-2.2.3          version: 0.10.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-2.2.4          version: 0.10.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-2.2.5          version: 0.10.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-2.2.6          version: 0.10.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-2.2.7          version: 0.10.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-2.2.8          version: 0.10.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-2.2.9          version: 0.10.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-2.2.10         version: 0.10.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-2.3.0-preview1 version: 0.10.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-2.3.0-preview2 version: 0.10.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-2.3.0          version: 0.10.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-2.3.1          version: 0.10.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-2.3.2          version: 0.10.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-2.3.3          version: 0.10.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-2.3.4          version: 0.10.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-2.3.5          version: 0.10.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-2.3.6          version: 0.10.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-2.3.7          version: 0.10.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-2.3.8          version: 0.10.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-2.4.0-preview1 version: 0.10.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-2.4.0-preview2 version: 0.10.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-2.4.0-preview3 version: 0.10.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-2.4.0-rc1      version: 0.10.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-2.4.0          version: 0.10.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-2.4.1          version: 0.10.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-2.4.2          version: 0.10.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-2.4.3          version: 0.10.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-2.4.4          version: 0.10.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-2.4.5          version: 0.10.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-2.4.6          version: 0.10.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-2.4.7          version: 0.10.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-2.4.9          version: 0.10.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-2.4.10         version: 0.10.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-2.5.0-preview1 version: 0.10.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-2.5.0-rc1      version: 0.10.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-2.5.0          version: 0.10.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-2.5.1          version: 0.10.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-2.5.2          version: 0.10.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-2.5.3          version: 0.10.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-2.5.4          version: 0.10.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-2.5.5          version: 0.10.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-2.5.6          version: 0.10.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-2.5.7          version: 0.10.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-2.5.8          version: 0.10.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-2.5.9          version: 0.10.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-2.6.0-preview1 version: 0.10.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-2.6.0-preview2 version: 0.10.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-2.6.0-preview3 version: 0.10.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-2.6.0-rc1      version: 0.10.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-2.6.0-rc2      version: 0.10.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-2.6.0          version: 0.10.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-2.6.1          version: 0.10.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-2.6.2          version: 0.10.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-2.6.3          version: 0.10.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-2.6.4          version: 0.10.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-2.6.5          version: 0.10.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-2.6.6          version: 0.10.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-2.6.7          version: 0.10.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-2.6.8          version: 0.10.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-2.6.9          version: 0.10.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-2.6.10         version: 0.10.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-2.7.0-preview1 version: 0.10.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-2.7.0-preview2 version: 0.10.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-2.7.0-preview3 version: 0.10.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-2.7.0-rc1      version: 0.10.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-2.7.0-rc2      version: 0.10.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-2.7.0          version: 0.10.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-2.7.1          version: 0.10.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-2.7.2          version: 0.10.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-2.7.3          version: 0.10.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-2.7.4          version: 0.10.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-2.7.5          version: 0.10.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-2.7.6          version: 0.10.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-2.7.7          version: 0.10.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-2.7.8          version: 0.10.0.2 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-3.0.0-preview1 version: 0.10.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-3.0.0-preview2 version: 0.10.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-3.0.0-rc1      version: 0.10.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-3.0.0          version: 0.10.1 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-3.0.1          version: 0.10.1 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-3.0.2          version: 0.10.1 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-3.0.3          version: 0.10.1 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-3.0.4          version: 0.10.1 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-3.0.5          version: 0.10.1 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-3.0.6          version: 0.10.2 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-3.0.7          version: 0.10.3 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-3.1.0-preview1 version: 0.11.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-3.1.0          version: 0.11.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-3.1.1          version: 0.11.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-3.1.2          version: 0.11.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-3.1.3          version: 0.11.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-3.1.4          version: 0.12.1 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-3.1.5          version: 0.12.2 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-3.1.6          version: 0.12.2 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-3.2.0-preview1 version: 0.11.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-3.2.0-preview2 version: 0.11.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-3.2.0-preview3 version: 0.11.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-3.2.0-rc1      version: 0.12.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-3.2.0          version: 0.12.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-3.2.1          version: 0.12.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-3.2.2          version: 0.12.1 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-3.2.3          version: 0.12.2 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-3.2.4          version: 0.12.2 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-3.2.5          version: 0.12.2 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-3.2.6          version: 0.12.3 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-3.3.0-preview1 version: 0.12.1 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-3.3.0-preview2 version: 0.12.2 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-3.3.0-preview3 version: 0.13.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-3.3.0-rc1      version: 0.13.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-3.3.0          version: 0.13.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-3.3.1          version: 0.13.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-3.3.2          version: 0.13.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-3.3.3          version: 0.13.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-3.3.4          version: 0.13.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-3.3.5          version: 0.13.1 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-3.3.6          version: 0.13.1 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-3.4.0-preview1 version: 0.13.0 pattern: URI::RFC2396_REGEXP::PATTERN
ruby-3.4.0-preview2 /build-all-ruby/3.4.0-preview2/lib/ruby/3.4.0+0/uri/common.rb:53:in 'URI.const_missing': uninitialized constant URI::PATTERN (NameError)
                    	from -e:1:in '<main>'
                exit 1
/usr/bin/ruby       version: 0.10.0 pattern: URI::RFC2396_REGEXP::PATTERN

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions