class PdfLinksChecker::URL

Attributes

Public Class Methods

new(pdf_link) click to toggle source
# File lib/pdf_links_checker/url.rb, line 7
def initialize(pdf_link)
  @pdf_link = pdf_link
end

Public Instance Methods

invalid?() click to toggle source
# File lib/pdf_links_checker/url.rb, line 11
def invalid?
  begin
    uri = to_s
  rescue PdfLinksChecker::InvalidLink => e
    return false
  end

  url = URI.parse(uri)
  req = Net::HTTP.new(url.host, url.port)
  req.use_ssl = true if uri.include?("https")

  begin
    res = req.request_head(url.path)
    return true if res.code == "404"
  rescue StandardError => e
    return true
  end

  false
end
to_s() click to toggle source
# File lib/pdf_links_checker/url.rb, line 32
def to_s
  a = pdf_link[:A]
  raise PdfLinksChecker::InvalidLink.new('Invalid Link') unless a.respond_to?(:key?) && a.key?(:URI)
  a[:URI]
end