Class: Page
Constant Summary collapse
- ATTEMPTS =
3
Instance Attribute Summary collapse
-
#error ⇒ Object
readonly
Returns the value of attribute error.
-
#register ⇒ Object
readonly
Returns the value of attribute register.
-
#source ⇒ Object
readonly
Returns the value of attribute source.
-
#url ⇒ Object
readonly
Returns the value of attribute url.
Instance Method Summary collapse
- #<=>(other) ⇒ Object
- #eql?(other) ⇒ Boolean
- #fatal(error) ⇒ Object
- #hash ⇒ Object
-
#initialize(register, url, source) ⇒ Page
constructor
A new instance of Page.
- #intermittent(error) ⇒ Object
- #relative_url ⇒ Object
- #success ⇒ Object
- #to_s ⇒ Object
Constructor Details
#initialize(register, url, source) ⇒ Page
Returns a new instance of Page.
12 13 14 15 16 17 18 |
# File 'lib/just_crawl/page.rb', line 12 def initialize(register, url, source) @register = register @url = url @source = source @attempts = 0 @errors = nil end |
Instance Attribute Details
#error ⇒ Object (readonly)
Returns the value of attribute error.
8 9 10 |
# File 'lib/just_crawl/page.rb', line 8 def error @error end |
#register ⇒ Object (readonly)
Returns the value of attribute register.
8 9 10 |
# File 'lib/just_crawl/page.rb', line 8 def register @register end |
#source ⇒ Object (readonly)
Returns the value of attribute source.
8 9 10 |
# File 'lib/just_crawl/page.rb', line 8 def source @source end |
#url ⇒ Object (readonly)
Returns the value of attribute url.
8 9 10 |
# File 'lib/just_crawl/page.rb', line 8 def url @url end |
Instance Method Details
#<=>(other) ⇒ Object
24 25 26 |
# File 'lib/just_crawl/page.rb', line 24 def <=>(other) relative_url <=> other.relative_url end |
#eql?(other) ⇒ Boolean
28 29 30 |
# File 'lib/just_crawl/page.rb', line 28 def eql?(other) relative_url.eql?(other.relative_url) end |
#fatal(error) ⇒ Object
41 42 43 44 45 |
# File 'lib/just_crawl/page.rb', line 41 def fatal(error) puts " Fatal - #{error}" if $VERBOSE @error = error @register.completed(self) end |
#hash ⇒ Object
32 33 34 |
# File 'lib/just_crawl/page.rb', line 32 def hash relative_url.hash end |
#intermittent(error) ⇒ Object
47 48 49 50 51 52 53 54 55 56 |
# File 'lib/just_crawl/page.rb', line 47 def intermittent(error) puts " Intermittent - #{error}" if $VERBOSE if @attempts >= ATTEMPTS @error = error @register.completed(self) else @attempts += 1 @register.retry(self) end end |
#relative_url ⇒ Object
20 21 22 |
# File 'lib/just_crawl/page.rb', line 20 def relative_url @relative_url ||= URI.join('http://example.com', source, url).path end |
#success ⇒ Object
36 37 38 39 |
# File 'lib/just_crawl/page.rb', line 36 def success @error = nil @register.completed(self) end |
#to_s ⇒ Object
58 59 60 |
# File 'lib/just_crawl/page.rb', line 58 def to_s "#{url} found on #{source} - #{error || 'OK'}" end |