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