Class: Jeckle::Request

Inherits:
Object
  • Object
show all
Defined in:
lib/jeckle/request.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(api, endpoint, options = {}) ⇒ Request

Returns a new instance of Request.



5
6
7
8
9
10
11
12
13
14
15
16
# File 'lib/jeckle/request.rb', line 5

def initialize(api, endpoint, options = {})
  @api = api

  @method  = options.delete(:method) || :get
  @body    = options.delete(:body) if %w(post put).include?(method.to_s)
  @headers = options.delete(:headers)

  @endpoint = endpoint
  @params = options

  @response = perform_api_request
end

Instance Attribute Details

#apiObject (readonly)

Returns the value of attribute api.



3
4
5
# File 'lib/jeckle/request.rb', line 3

def api
  @api
end

#bodyObject (readonly)

Returns the value of attribute body.



3
4
5
# File 'lib/jeckle/request.rb', line 3

def body
  @body
end

#endpointObject (readonly)

Returns the value of attribute endpoint.



3
4
5
# File 'lib/jeckle/request.rb', line 3

def endpoint
  @endpoint
end

#headersObject (readonly)

Returns the value of attribute headers.



3
4
5
# File 'lib/jeckle/request.rb', line 3

def headers
  @headers
end

#methodObject (readonly)

Returns the value of attribute method.



3
4
5
# File 'lib/jeckle/request.rb', line 3

def method
  @method
end

#paramsObject (readonly)

Returns the value of attribute params.



3
4
5
# File 'lib/jeckle/request.rb', line 3

def params
  @params
end

#responseObject (readonly)

Returns the value of attribute response.



3
4
5
# File 'lib/jeckle/request.rb', line 3

def response
  @response
end

Class Method Details

.run(*args) ⇒ Object



18
19
20
# File 'lib/jeckle/request.rb', line 18

def self.run(*args)
  new *args
end