Class: Scruber::QueueAdapters::Memory
- Inherits:
-
AbstractAdapter
- Object
- AbstractAdapter
- Scruber::QueueAdapters::Memory
- Defined in:
- lib/scruber/queue_adapters/memory.rb
Defined Under Namespace
Classes: Page
Instance Attribute Summary collapse
-
#error_pages ⇒ Object
readonly
Returns the value of attribute error_pages.
Instance Method Summary collapse
- #add_downloaded(page) ⇒ Object
- #add_error_page(page) ⇒ Object
- #delete(page) ⇒ Object
- #fetch_downloaded(count = nil) ⇒ Object
- #fetch_pending(count = nil) ⇒ Object
- #has_work? ⇒ Boolean
-
#initialize(options = {}) ⇒ Memory
constructor
A new instance of Memory.
- #initialized? ⇒ Boolean
- #push(url_or_page, options = {}) ⇒ Object (also: #add)
- #queue_size ⇒ Object
Constructor Details
#initialize(options = {}) ⇒ Memory
Returns a new instance of Memory.
24 25 26 27 28 29 |
# File 'lib/scruber/queue_adapters/memory.rb', line 24 def initialize(={}) super() @queue = [] @downloaded_pages = [] @error_pages = [] end |
Instance Attribute Details
#error_pages ⇒ Object (readonly)
Returns the value of attribute error_pages.
4 5 6 |
# File 'lib/scruber/queue_adapters/memory.rb', line 4 def error_pages @error_pages end |
Instance Method Details
#add_downloaded(page) ⇒ Object
60 61 62 |
# File 'lib/scruber/queue_adapters/memory.rb', line 60 def add_downloaded(page) @downloaded_pages.push page end |
#add_error_page(page) ⇒ Object
64 65 66 |
# File 'lib/scruber/queue_adapters/memory.rb', line 64 def add_error_page(page) @error_pages.push page end |
#delete(page) ⇒ Object
72 73 74 75 76 |
# File 'lib/scruber/queue_adapters/memory.rb', line 72 def delete(page) @queue -= [page] @downloaded_pages -= [page] @error_pages -= [page] end |
#fetch_downloaded(count = nil) ⇒ Object
44 45 46 47 48 49 50 |
# File 'lib/scruber/queue_adapters/memory.rb', line 44 def fetch_downloaded(count=nil) if count.nil? @downloaded_pages.shift else @downloaded_pages.shift(count) end end |
#fetch_pending(count = nil) ⇒ Object
52 53 54 55 56 57 58 |
# File 'lib/scruber/queue_adapters/memory.rb', line 52 def fetch_pending(count=nil) if count.nil? @queue.shift else @queue.shift(count) end end |
#has_work? ⇒ Boolean
68 69 70 |
# File 'lib/scruber/queue_adapters/memory.rb', line 68 def has_work? @queue.count > 0 || @downloaded_pages.count > 0 end |
#initialized? ⇒ Boolean
78 79 80 |
# File 'lib/scruber/queue_adapters/memory.rb', line 78 def initialized? @queue.present? || @downloaded_pages.present? || @error_pages.present? end |
#push(url_or_page, options = {}) ⇒ Object Also known as: add
31 32 33 34 35 36 37 |
# File 'lib/scruber/queue_adapters/memory.rb', line 31 def push(url_or_page, ={}) if url_or_page.is_a?(Page) @queue.push url_or_page else @queue.push Page.new(self, url_or_page, ) end end |
#queue_size ⇒ Object
40 41 42 |
# File 'lib/scruber/queue_adapters/memory.rb', line 40 def queue_size @queue.count end |