Class: Holded::APIRequest

Inherits:
Object
  • Object
show all
Defined in:
lib/holded/api_request.rb

Constant Summary collapse

BASE_API_URL =
'https://api.holded.com/api/'

Instance Method Summary collapse

Constructor Details

#initialize(builder:) ⇒ APIRequest

Returns a new instance of APIRequest.



11
12
13
14
15
# File 'lib/holded/api_request.rb', line 11

def initialize(builder:)
  @request_builder = builder
  @url             = build_api_url
  @http            = build_http
end

Instance Method Details

#delete(params: nil) ⇒ Object



41
42
43
44
45
46
47
# File 'lib/holded/api_request.rb', line 41

def delete(params: nil)
  validate_api_key
  request = Net::HTTP::Delete.new(@url, build_headers)
  request = configure_request(request: request, params: params)
  response = @http.request(request)
  parse_response(response: response)
end

#get(params: nil) ⇒ Object



17
18
19
20
21
22
23
# File 'lib/holded/api_request.rb', line 17

def get(params: nil)
  validate_api_key
  request = Net::HTTP::Get.new(@url, build_headers)
  request = configure_request(request: request, params: params)
  response = @http.request(request)
  parse_response(response: response)
end

#post(params: nil) ⇒ Object



25
26
27
28
29
30
31
# File 'lib/holded/api_request.rb', line 25

def post(params: nil)
  validate_api_key
  request = Net::HTTP::Post.new(@url, build_headers)
  request = configure_request(request: request, params: params)
  response = @http.request(request)
  parse_response(response: response)
end

#put(params: nil) ⇒ Object



33
34
35
36
37
38
39
# File 'lib/holded/api_request.rb', line 33

def put(params: nil)
  validate_api_key
  request = Net::HTTP::Put.new(@url, build_headers)
  request = configure_request(request: request, params: params)
  response = @http.request(request)
  parse_response(response: response)
end