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