Module: KindridClient::Request

Included in:
Client
Defined in:
lib/kindrid_client/request.rb

Instance Method Summary collapse

Instance Method Details

#connectionObject



54
55
56
57
58
59
60
61
62
63
64
65
# File 'lib/kindrid_client/request.rb', line 54

def connection
  options = {
    :headers => {'Accept' => 'application/json', 'User-Agent' => user_agent},
    :url => api_endpoint,
  }

  Faraday.new(options) do |builder|
    builder.basic_auth(KindridClient.key, KindridClient.secret)
    builder.request  :json
    builder.adapter(adapter)
  end
end

#construct_request(resource_path, params = {}) ⇒ Object



47
48
49
50
51
52
# File 'lib/kindrid_client/request.rb', line 47

def construct_request(resource_path, params={})
  request = {}
  request[:url] = "#{Configuration::DEFAULT_ENDPOINT}/#{resource_path}"
  request[:params] = params.merge({client_id: KindridClient.key})  
  request    
end

#delete(resource_path) ⇒ Object



37
38
39
40
41
42
43
44
45
# File 'lib/kindrid_client/request.rb', line 37

def delete(resource_path)
  request = construct_request(resource_path)

  response = connection.delete do |req|
    req.url request[:url]
    req.options = request_options
  end
  Hashie::Mash.new(response.body)
end

#get(resource_path, params = {}) ⇒ Object

Perform an HTTP GET request



5
6
7
8
9
10
11
12
13
# File 'lib/kindrid_client/request.rb', line 5

def get(resource_path, params = {})
  request = construct_request(resource_path, params)

  response = connection.get do |req|
    req.url request[:url], request[:params]
    req.options = request_options
  end
  Hashie::Mash.new(response.body)
end

#post(resource_path, data) ⇒ Object



15
16
17
18
19
20
21
22
23
24
# File 'lib/kindrid_client/request.rb', line 15

def post(resource_path, data)
  request = construct_request(resource_path)

  response = connection.post do |req|
    req.url request[:url]
    req.body = data.to_json
    req.options = request_options
  end
  Hashie::Mash.new(response.body)
end

#put(resource_path, data) ⇒ Object



26
27
28
29
30
31
32
33
34
35
# File 'lib/kindrid_client/request.rb', line 26

def put(resource_path, data)
  request = construct_request(resource_path)

  response = connection.put do |req|
    req.url request[:url]
    req.body = data.to_json
    req.options = request_options
  end
  Hashie::Mash.new(response.body)
end