Class: LinkThumbnailer::Scraper

Inherits:
SimpleDelegator
  • Object
show all
Defined in:
lib/link_thumbnailer/scraper.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(source, url) ⇒ Scraper

Returns a new instance of Scraper.



21
22
23
24
25
26
27
28
29
30
# File 'lib/link_thumbnailer/scraper.rb', line 21

def initialize(source, url)
  @source       = source
  @url          = url
  @config       = ::LinkThumbnailer.page.config
  @document     = parser.call(source)
  @website      = ::LinkThumbnailer::Models::Website.new
  @website.url  = url

  super(config)
end

Instance Attribute Details

#configObject (readonly)

Returns the value of attribute config.



19
20
21
# File 'lib/link_thumbnailer/scraper.rb', line 19

def config
  @config
end

#documentObject (readonly)

Returns the value of attribute document.



19
20
21
# File 'lib/link_thumbnailer/scraper.rb', line 19

def document
  @document
end

#sourceObject (readonly)

Returns the value of attribute source.



19
20
21
# File 'lib/link_thumbnailer/scraper.rb', line 19

def source
  @source
end

#urlObject (readonly)

Returns the value of attribute url.



19
20
21
# File 'lib/link_thumbnailer/scraper.rb', line 19

def url
  @url
end

#websiteObject (readonly)

Returns the value of attribute website.



19
20
21
# File 'lib/link_thumbnailer/scraper.rb', line 19

def website
  @website
end

Instance Method Details

#callObject



32
33
34
35
36
37
38
39
40
41
# File 'lib/link_thumbnailer/scraper.rb', line 32

def call
  config.attributes.each do |name|
    scrapers.each do |scraper_prefix|
      scraper_class(scraper_prefix, name).new(document).call(website, name.to_s)
      break unless website.send(name).blank?
    end
  end

  website
end