class MediaartsScraper::Page::PageBase

Public Class Methods

data_class(data_class) click to toggle source
# File lib/mediaarts_scraper/page/page_base.rb, line 15
def self.data_class(data_class)
  define_method("data_class") do
    data_class
  end
end
from_url(url) click to toggle source
# File lib/mediaarts_scraper/page/page_base.rb, line 11
def self.from_url(url)
  self.new(url: url)
end
new(url:) click to toggle source
# File lib/mediaarts_scraper/page/page_base.rb, line 7
def initialize(url:)
  @original_url = url
end

Public Instance Methods

data() click to toggle source
# File lib/mediaarts_scraper/page/page_base.rb, line 21
def data
  @data ||= data_class.new(raw_data)
end
doc() click to toggle source
# File lib/mediaarts_scraper/page/page_base.rb, line 37
def doc
  @doc ||= Nokogiri::HTML.parse(html, nil, "utf8")
end
fetch(url) click to toggle source
# File lib/mediaarts_scraper/page/page_base.rb, line 41
def fetch(url)
  MediaartsScraper.logger.debug { {class: self.class.name, method: "fetch", url: url} }

  open(url) { |f| f.read }
end
html() click to toggle source
# File lib/mediaarts_scraper/page/page_base.rb, line 25
def html
  @html ||= fetch(url)
end
raw_data() click to toggle source
# File lib/mediaarts_scraper/page/page_base.rb, line 33
def raw_data
  @raw_data ||= parse(html)
end
url() click to toggle source
# File lib/mediaarts_scraper/page/page_base.rb, line 29
def url
  @original_url
end