class Crabbs::Link

Public Class Methods

new(href) click to toggle source
# File lib/crabbs/link.rb, line 4
def initialize(href)
  @href = href
  @uri = URI.parse(href)
end

Public Instance Methods

has_html_extension?() click to toggle source
# File lib/crabbs/link.rb, line 17
def has_html_extension?
  link = @href
  if not @uri.host.nil?
    link = @href.sub(@uri.host, '')
  end

  extension = File.extname(link)
  extension.empty? or extension == '.html'
end
has_valid_fragment?() click to toggle source
# File lib/crabbs/link.rb, line 13
def has_valid_fragment?
  @uri.fragment.nil? or not @uri.fragment.empty?
end
join(url) click to toggle source
# File lib/crabbs/link.rb, line 27
def join(url)
  new_uri = @uri

  if @uri.host.nil?
    new_uri = URI.parse url
    new_uri = URI.join(new_uri.to_s, @uri.path) unless @uri.path.nil?
    new_uri = URI.join(new_uri.to_s, "?#{@uri.query}") unless @uri.query.nil?
    new_uri = URI.join(new_uri.to_s, "##{@uri.fragment}") unless @uri.fragment.nil?
  end

  new_uri.to_s
end
same_host_as?(url) click to toggle source
# File lib/crabbs/link.rb, line 9
def same_host_as?(url)
  @uri.host == URI.parse(url).host or @uri.host.nil?
end