lib/dr/base/uri.rb in drain-0.5 vs lib/dr/base/uri.rb in drain-0.5.1
- old
+ new
@@ -84,11 +84,11 @@
end
# reimplement deprecated escape and unescape methods since
# URI.encode_www_form_component does not encode the same way
# cf the source code of URI::DEFAULT_PARSER.escape
- module URI
+ module URIEscape
extend self
def escape(*arg)
URI::DEFAULT_PARSER.escape(*arg)
end
def unescape(*arg)
@@ -182,15 +182,15 @@
components = uri.component
components += %i[user password] if components.include?(:userinfo)
components.each do |m|
uri.define_singleton_method(m) do
r = super()
- r && r.is_a?(String) ? URI.unescape(r) : r
+ r && r.is_a?(String) ? URIEscape.unescape(r) : r
# r && r.is_a?(String) ? ::URI.decode_www_form_component(r) : r
end
uri.define_singleton_method(:"#{m}=") do |v|
begin
- super(v && v.is_a?(String) ? URI.escape(v) : v)
+ super(v && v.is_a?(String) ? URIEscape.escape(v) : v)
# super(v && v.is_a?(String) ? ::URI.encode_www_form_component(v) : v)
rescue URI::InvalidURIError => e
warn "#{e} in (#{self}).#{m}=#{v}"
# require 'pry'; binding.pry
end