Class: Oak::Request::HTTP

Inherits:
Object show all
Defined in:
lib/oak_api.rb

Constant Summary collapse

VERBS =
{ g: :get, p: :post, c: :patch, d: :delete }

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(args, base_url, api_version, headers, debug = nil) ⇒ HTTP

Returns a new instance of HTTP.

Raises:



26
27
28
29
30
31
32
33
# File 'lib/oak_api.rb', line 26

def initialize(args, base_url, api_version, headers, debug=nil)
  @verb = args.shift.to_sym
  @uri = URI("#{base_url}/api/#{api_version}/#{args.shift}")
  @body = args.shift
  @verb = VERBS[@verb] || @verb
  @headers = headers
  raise UnknownHTTPVerb unless VERBS.values.include?(@verb)
end

Instance Attribute Details

#bodyObject (readonly)

Returns the value of attribute body.



22
23
24
# File 'lib/oak_api.rb', line 22

def body
  @body
end

#headersObject (readonly)

Returns the value of attribute headers.



22
23
24
# File 'lib/oak_api.rb', line 22

def headers
  @headers
end

#uriObject (readonly)

Returns the value of attribute uri.



22
23
24
# File 'lib/oak_api.rb', line 22

def uri
  @uri
end

#verbObject (readonly)

Returns the value of attribute verb.



22
23
24
# File 'lib/oak_api.rb', line 22

def verb
  @verb
end

Instance Method Details

#set_requestObject



35
36
37
38
39
# File 'lib/oak_api.rb', line 35

def set_request
  @req = Net::HTTP.const_get(verb.to_s.capitalize).new(uri, headers)
  @req.body = body
  @req
end