4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
# File 'lib/address_fetcher/mechanize_patch.rb', line 4
def to_absolute_uri(url, cur_page=current_page())
unless url.is_a? URI
url = url.to_s.strip
url = URI.parse(self.class.html_unescape(SyncEnumerator.new(url.split(/%[0-9A-Fa-f]{2}/), url.scan(/%[0-9A-Fa-f]{2}/)).map { |x,y| "#{ URI.escape(x||'')}#{y}" }.join('').gsub(/%23/, '#')))
end
if url.relative?
raise 'no history. please specify an absolute URL' unless cur_page.uri
url = cur_page.uri + url
url.path.sub!(/^(\/\.\.)+(?=\/)/, '')
end
return url
end
|