Class: Vessel::Request

Inherits:
Object
  • Object
show all
Includes:
Util
Defined in:
lib/vessel/request.rb

Constant Summary collapse

DEFAULT_HANDLER =
:parse

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Util

#deep_clone

Constructor Details

#initialize(url: nil, callback: nil, handler: nil, delay: 0, cookies: nil, headers: nil, data: nil, once: true) ⇒ Request

Returns a new instance of Request.



14
15
16
17
18
19
20
21
22
# File 'lib/vessel/request.rb', line 14

def initialize(url: nil, callback: nil, handler: nil, delay: 0, cookies: nil, headers: nil, data: nil, once: true)
  @url = Addressable::URI.parse(url) if url
  @delay = delay.is_a?(Range) ? rand(delay) : delay
  @cookies = cookies
  @headers = headers
  @handler = handler || callback || DEFAULT_HANDLER
  @data = deep_clone(data) || {}
  @once = once
end

Instance Attribute Details

#cookiesObject (readonly)

Returns the value of attribute cookies.



12
13
14
# File 'lib/vessel/request.rb', line 12

def cookies
  @cookies
end

#dataObject (readonly)

Returns the value of attribute data.



12
13
14
# File 'lib/vessel/request.rb', line 12

def data
  @data
end

#delayObject (readonly)

Returns the value of attribute delay.



12
13
14
# File 'lib/vessel/request.rb', line 12

def delay
  @delay
end

#handlerObject (readonly) Also known as: callback

Returns the value of attribute handler.



12
13
14
# File 'lib/vessel/request.rb', line 12

def handler
  @handler
end

#headersObject (readonly)

Returns the value of attribute headers.



12
13
14
# File 'lib/vessel/request.rb', line 12

def headers
  @headers
end

#onceObject (readonly)

Returns the value of attribute once.



12
13
14
# File 'lib/vessel/request.rb', line 12

def once
  @once
end

#urlObject (readonly)

Returns the value of attribute url.



12
13
14
# File 'lib/vessel/request.rb', line 12

def url
  @url
end

Instance Method Details

#==(other) ⇒ Object



34
35
36
37
38
39
40
41
42
# File 'lib/vessel/request.rb', line 34

def ==(other)
  url == other.url &&
    data == other.data &&
    handler == other.handler &&
    delay == other.delay &&
    cookies == other.cookies &&
    headers == other.headers &&
    once == other.once
end

#stub?Boolean

Returns:

  • (Boolean)


26
27
28
# File 'lib/vessel/request.rb', line 26

def stub?
  !url
end

#to_handlerObject



30
31
32
# File 'lib/vessel/request.rb', line 30

def to_handler
  { url: url, data: data, handler: handler }
end