class Microformats::AbsoluteUri
Attributes
base[RW]
relative[RW]
Public Class Methods
new(relative, base: nil)
click to toggle source
# File lib/microformats/absolute_uri.rb, line 5 def initialize(relative, base: nil) @base = base @relative = relative @base = base.strip unless base.nil? @relative = relative.strip unless relative.nil? end
Public Instance Methods
absolutize()
click to toggle source
# File lib/microformats/absolute_uri.rb, line 12 def absolutize return relative if base.nil? return base if relative.nil? || relative == '' return relative if relative =~ %r{^https?://} return base + relative if relative =~ /^#/ uri = URI.parse(relative) uri = URI.join(base.to_s, relative.to_s) if base && !uri.absolute? uri.normalize! uri.to_s rescue URI::BadURIError, URI::InvalidURIError relative.to_s end