Class: Ribose::Request

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

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(http_method, endpoint, **data) ⇒ Ribose::Request

Initialize a Request

Parameters:

  • http_method (Symbol)

    HTTP verb as sysmbol

  • endpoint (String)

    The relative API endpoint

  • data (Hash)

    Attributes / Options as a Hash



10
11
12
13
14
15
# File 'lib/ribose/request.rb', line 10

def initialize(http_method, endpoint, **data)
  @data = data
  @endpoint = endpoint
  @http_method = http_method
  @client = find_suitable_client
end

Class Method Details

.delete(endpoint, options = {}) ⇒ Sawyer::Resource

Make a HTTP DELETE Request

Parameters:

  • endpoint (String)

    The relative API endpoint

Returns:

  • (Sawyer::Resource)


62
63
64
# File 'lib/ribose/request.rb', line 62

def self.delete(endpoint, options = {})
  new(:delete, endpoint, options).request
end

.get(endpoint, options = {}) ⇒ Sawyer::Resource

Make a HTTP GET Request

Parameters:

  • endpoint (String)

    The relative API endpoint

  • options (Hash) (defaults to: {})

    The additional query params

Returns:

  • (Sawyer::Resource)


33
34
35
# File 'lib/ribose/request.rb', line 33

def self.get(endpoint, options = {})
  new(:get, endpoint, options).request
end

.post(endpoint, data) ⇒ Sawyer::Resource

Make a HTTP POST Request

Parameters:

  • endpoint (String)

    The relative API endpoint

  • data (Hash)

    The request data as a Hash

Returns:

  • (Sawyer::Resource)


43
44
45
# File 'lib/ribose/request.rb', line 43

def self.post(endpoint, data)
  new(:post, endpoint, data).request
end

.put(endpoint, data) ⇒ Sawyer::Resource

Make a HTTP PUT Request

Parameters:

  • endpoint (String)

    The relative API endpoint

  • data (Hash)

    The request data as a Hash

Returns:

  • (Sawyer::Resource)


53
54
55
# File 'lib/ribose/request.rb', line 53

def self.put(endpoint, data)
  new(:put, endpoint, data).request
end

Instance Method Details

#request(options = {}) ⇒ Sawyer::Resource

Make a HTTP Request

Parameters:

  • options (Hash) (defaults to: {})

    Additonal options hash

Returns:

  • (Sawyer::Resource)


22
23
24
25
# File 'lib/ribose/request.rb', line 22

def request(options = {})
  options[:query] = extract_config_option(:query) || {}
  agent.call(http_method, api_endpoint, data, options).data
end