Class: Vessel::Cargo
- Inherits:
-
Object
- Object
- Vessel::Cargo
- Extended by:
- Forwardable
- Defined in:
- lib/vessel/cargo.rb
Constant Summary collapse
- DELAY =
0- START_URLS =
[].freeze
- MIDDLEWARE =
[].freeze
- MIN_THREADS =
1- MAX_THREADS =
Concurrent.processor_count
Class Attribute Summary collapse
-
.settings ⇒ Object
readonly
Returns the value of attribute settings.
Instance Attribute Summary collapse
-
#page ⇒ Object
readonly
Returns the value of attribute page.
Class Method Summary collapse
- .delay(value) ⇒ Object
- .domain(name) ⇒ Object
- .middleware(*classes) ⇒ Object
- .run(settings = nil, &block) ⇒ Object
- .start_urls(*urls) ⇒ Object
- .threads(min: MIN_THREADS, max: MAX_THREADS) ⇒ Object
- .timeout(value) ⇒ Object
Instance Method Summary collapse
- #domain ⇒ Object
-
#initialize(page = nil) ⇒ Cargo
constructor
A new instance of Cargo.
- #parse ⇒ Object
Constructor Details
#initialize(page = nil) ⇒ Cargo
Returns a new instance of Cargo.
64 65 66 |
# File 'lib/vessel/cargo.rb', line 64 def initialize(page = nil) @page = page end |
Class Attribute Details
.settings ⇒ Object (readonly)
Returns the value of attribute settings.
15 16 17 |
# File 'lib/vessel/cargo.rb', line 15 def settings @settings end |
Instance Attribute Details
#page ⇒ Object (readonly)
Returns the value of attribute page.
62 63 64 |
# File 'lib/vessel/cargo.rb', line 62 def page @page end |
Class Method Details
.delay(value) ⇒ Object
30 31 32 |
# File 'lib/vessel/cargo.rb', line 30 def delay(value) settings[:delay] = value end |
.domain(name) ⇒ Object
22 23 24 |
# File 'lib/vessel/cargo.rb', line 22 def domain(name) settings[:domain] = name end |
.middleware(*classes) ⇒ Object
43 44 45 |
# File 'lib/vessel/cargo.rb', line 43 def middleware(*classes) settings[:middleware] = classes end |
.run(settings = nil, &block) ⇒ Object
17 18 19 20 |
# File 'lib/vessel/cargo.rb', line 17 def run(settings = nil, &block) self.settings.merge!(Hash(settings)) Engine.run(self, &block) end |
.start_urls(*urls) ⇒ Object
26 27 28 |
# File 'lib/vessel/cargo.rb', line 26 def start_urls(*urls) settings[:start_urls] = urls end |
.threads(min: MIN_THREADS, max: MAX_THREADS) ⇒ Object
38 39 40 41 |
# File 'lib/vessel/cargo.rb', line 38 def threads(min: MIN_THREADS, max: MAX_THREADS) settings[:min_threads] = min settings[:max_threads] = max end |
.timeout(value) ⇒ Object
34 35 36 |
# File 'lib/vessel/cargo.rb', line 34 def timeout(value) settings[:timeout] = value end |
Instance Method Details
#domain ⇒ Object
68 69 70 |
# File 'lib/vessel/cargo.rb', line 68 def domain self.class.settings[:domain] end |
#parse ⇒ Object
72 73 74 |
# File 'lib/vessel/cargo.rb', line 72 def parse raise NotImplementedError end |