Class: Bookbinder::Sieve

Inherits:
Object
  • Object
show all
Defined in:
lib/bookbinder/sieve.rb

Instance Method Summary collapse

Constructor Details

#initialize(domain: ->(){ raise 'You must supply a domain parameter.' }.call) ⇒ Sieve

Returns a new instance of Sieve.



3
4
5
6
# File 'lib/bookbinder/sieve.rb', line 3

def initialize(domain: ->(){ raise 'You must supply a domain parameter.' }.call)
  @unverified_fragments_by_url = {}
  @domain = domain
end

Instance Method Details



8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/bookbinder/sieve.rb', line 8

def links_from(page, is_first_pass)
  if page.not_found?
    working = []
    broken  = [Spider.prepend_location(page.referer, page.url)]
  else
    working = [page.url.to_s]
    broken  = broken_fragments_targeting(page, is_first_pass)
    store_unverified_fragments_from(page) if is_first_pass
  end

  return broken, working
end