class Syfyfancam::URL

Attributes

uri[R]

Public Class Methods

new(url) click to toggle source
# File lib/syfyfancam/url.rb, line 11
def initialize(url)
  @uri = URI.parse(url)
  raise ArgumentError, ERROR_URL unless personal_hash?
rescue URI::InvalidURIError => e
  raise e, ERROR_URL
end

Public Instance Methods

images() click to toggle source
# File lib/syfyfancam/url.rb, line 18
def images
  build_urls.map { |url| URI.parse(url).to_s }
end
personal_hash() click to toggle source
# File lib/syfyfancam/url.rb, line 22
def personal_hash
  uri.to_s.split('/').last
end

Private Instance Methods

base_url() click to toggle source
# File lib/syfyfancam/url.rb, line 36
def base_url
  @base_url ||= Nokogiri::HTML(Net::HTTP.get(uri)).at('meta[property="og:image"]')['content'][0..-8]
end
build_urls() click to toggle source
# File lib/syfyfancam/url.rb, line 32
def build_urls
  (1..100).map { |i| "#{base_url}#{format('%<filenumber>03d', filenumber: i)}.jpg" }
end
personal_hash?() click to toggle source
# File lib/syfyfancam/url.rb, line 28
def personal_hash?
  personal_hash && personal_hash.size == 12
end