class Vessel::Cargo
Constants
- DELAY
- MAX_THREADS
- MIDDLEWARE
- MIN_THREADS
- START_URLS
Attributes
settings[R]
page[R]
Public Class Methods
delay(value)
click to toggle source
# File lib/vessel/cargo.rb, line 30 def delay(value) settings[:delay] = value end
domain(name)
click to toggle source
# File lib/vessel/cargo.rb, line 22 def domain(name) settings[:domain] = name end
ferrum(**options)
click to toggle source
# File lib/vessel/cargo.rb, line 51 def ferrum(**options) settings[:ferrum] = options end
headers(value)
click to toggle source
# File lib/vessel/cargo.rb, line 38 def headers(value) settings[:headers] = value end
intercept(&block)
click to toggle source
# File lib/vessel/cargo.rb, line 55 def intercept(&block) settings[:intercept] = block end
middleware(*classes)
click to toggle source
# File lib/vessel/cargo.rb, line 47 def middleware(*classes) settings[:middleware] = classes end
new(page = nil)
click to toggle source
# File lib/vessel/cargo.rb, line 79 def initialize(page = nil) @page = page end
run(settings = nil, &block)
click to toggle source
# 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)
click to toggle source
# File lib/vessel/cargo.rb, line 26 def start_urls(*urls) settings[:start_urls] = urls.flatten end
threads(min: MIN_THREADS, max: MAX_THREADS)
click to toggle source
# File lib/vessel/cargo.rb, line 42 def threads(min: MIN_THREADS, max: MAX_THREADS) settings[:min_threads] = min settings[:max_threads] = max end
timeout(value)
click to toggle source
# File lib/vessel/cargo.rb, line 34 def timeout(value) settings[:timeout] = value end
Public Instance Methods
domain()
click to toggle source
# File lib/vessel/cargo.rb, line 83 def domain self.class.settings[:domain] end
parse()
click to toggle source
# File lib/vessel/cargo.rb, line 87 def parse raise NotImplementedError end
Private Instance Methods
absolute_url(relative)
click to toggle source
# File lib/vessel/cargo.rb, line 97 def absolute_url(relative) Addressable::URI.join(page.current_url, relative).to_s end
current_url()
click to toggle source
# File lib/vessel/cargo.rb, line 101 def current_url Addressable::URI.parse(page.current_url) end
request(**options)
click to toggle source
# File lib/vessel/cargo.rb, line 93 def request(**options) Request.new(**options) end