Class: Recluse::Tasks::Task
- Inherits:
-
Object
- Object
- Recluse::Tasks::Task
- Defined in:
- lib/recluse/tasks/task.rb
Overview
Task interface. Runs the queue with customized behavior.
Instance Attribute Summary collapse
-
#queue ⇒ Object
Queue
of links to check. -
#results ⇒ Object
readonly
HashTree
representation of results.
Instance Method Summary collapse
-
#add(link) ⇒ Object
Add link (or links) to the queue.
-
#initialize(profile, queue_options: {}, results: nil) ⇒ Task
constructor
Create new task.
-
#run ⇒ Object
Run the queue.
Constructor Details
#initialize(profile, queue_options: {}, results: nil) ⇒ Task
Create new task.
19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/recluse/tasks/task.rb', line 19 def initialize(profile, queue_options: {}, results: nil) @queue = Recluse::Queue.new(profile.email, ) if results.nil? @results = Recluse::HashTree.new do |url1, url2| url1, url2 = url2, url1 if url2.length > url1.length # Detect if URL exists already, but just has a slash at end (url1 == url2 || (url1.length == (url2.length + 1) && url1[-1] == '/' && url2[-1] != '/' && url1[0...-1] == url2)) end else @results = results end @queue.add profile.roots end |
Instance Attribute Details
#queue ⇒ Object
Queue
of links to check.
15 16 17 |
# File 'lib/recluse/tasks/task.rb', line 15 def queue @queue end |
#results ⇒ Object (readonly)
HashTree
representation of results.
11 12 13 |
# File 'lib/recluse/tasks/task.rb', line 11 def results @results end |
Instance Method Details
#add(link) ⇒ Object
Add link (or links) to the queue.
35 36 37 |
# File 'lib/recluse/tasks/task.rb', line 35 def add(link) @queue.add link end |
#run ⇒ Object
Run the queue.
41 42 43 |
# File 'lib/recluse/tasks/task.rb', line 41 def run @queue.run end |