From a30fe889788f31e22c095908ea39e5bb907dadf7 Mon Sep 17 00:00:00 2001 From: Ben Hamill Date: Sat, 3 Mar 2012 21:25:34 -0600 Subject: [PATCH 1/3] Only remove a constant if it exists. --- lib/rack/backports/uri/common_192.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/rack/backports/uri/common_192.rb b/lib/rack/backports/uri/common_192.rb index 82ebdf9f1..8da2cf2d6 100644 --- a/lib/rack/backports/uri/common_192.rb +++ b/lib/rack/backports/uri/common_192.rb @@ -67,5 +67,5 @@ def self.decode_www_form_component(str, enc=Encoding::UTF_8) end remove_const :WFKV_ - WFKV_ = '(?:[^%#=;&]*(?:%\h\h[^%#=;&]*)*)' # :nodoc: + WFKV_ = '(?:[^%#=;&]*(?:%\h\h[^%#=;&]*)*)' if defined?(WFKV_) # :nodoc: end From 175b80356a951b5f9efbb3e1392c593d26cdf0b5 Mon Sep 17 00:00:00 2001 From: Ben Hamill Date: Sat, 3 Mar 2012 21:36:32 -0600 Subject: [PATCH 2/3] Uh. Put the conditional on the CORRECT line. :sweat: --- lib/rack/backports/uri/common_192.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/rack/backports/uri/common_192.rb b/lib/rack/backports/uri/common_192.rb index 8da2cf2d6..640fb67ad 100644 --- a/lib/rack/backports/uri/common_192.rb +++ b/lib/rack/backports/uri/common_192.rb @@ -66,6 +66,6 @@ def self.decode_www_form_component(str, enc=Encoding::UTF_8) str.gsub(/\+|%\h\h/, TBLDECWWWCOMP_).force_encoding(enc) end - remove_const :WFKV_ - WFKV_ = '(?:[^%#=;&]*(?:%\h\h[^%#=;&]*)*)' if defined?(WFKV_) # :nodoc: + remove_const :WFKV_ if defined?(WFKV_) + WFKV_ = '(?:[^%#=;&]*(?:%\h\h[^%#=;&]*)*)' # :nodoc: end From a48eda501724eaf24665a8c8d3b10c5325b7c395 Mon Sep 17 00:00:00 2001 From: Ben Hamill Date: Tue, 6 Mar 2012 21:20:32 -0600 Subject: [PATCH 3/3] Use `const_defined?` so that it only checks withing the scope of URI. --- lib/rack/backports/uri/common_192.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/rack/backports/uri/common_192.rb b/lib/rack/backports/uri/common_192.rb index 640fb67ad..b8eef628d 100644 --- a/lib/rack/backports/uri/common_192.rb +++ b/lib/rack/backports/uri/common_192.rb @@ -66,6 +66,6 @@ def self.decode_www_form_component(str, enc=Encoding::UTF_8) str.gsub(/\+|%\h\h/, TBLDECWWWCOMP_).force_encoding(enc) end - remove_const :WFKV_ if defined?(WFKV_) + remove_const :WFKV_ if const_defined?(:WFKV_) WFKV_ = '(?:[^%#=;&]*(?:%\h\h[^%#=;&]*)*)' # :nodoc: end