Class: Ponto::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/ponto/client.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(token: nil, client_id: nil, client_secret: nil, api_scheme: "https", api_host: "api.myponto.com", api_port: "443", ssl_ca_file: nil) ⇒ Client

Returns a new instance of Client.



6
7
8
9
10
11
12
# File 'lib/ponto/client.rb', line 6

def initialize(token: nil, client_id: nil, client_secret: nil, api_scheme: "https", api_host: "api.myponto.com", api_port: "443", ssl_ca_file: nil)
  @token    = token
  @client_id = client_id
  @client_secret = client_secret
  @base_uri = "#{api_scheme}://#{api_host}:#{api_port}"
  @ssl_ca_file = ssl_ca_file
end

Instance Attribute Details

#base_uriObject (readonly)

Returns the value of attribute base_uri.



4
5
6
# File 'lib/ponto/client.rb', line 4

def base_uri
  @base_uri
end

#client_idObject (readonly)

Returns the value of attribute client_id.



4
5
6
# File 'lib/ponto/client.rb', line 4

def client_id
  @client_id
end

#client_secretObject (readonly)

Returns the value of attribute client_secret.



4
5
6
# File 'lib/ponto/client.rb', line 4

def client_secret
  @client_secret
end

Instance Method Details

#build_uri(path) ⇒ Object



34
35
36
# File 'lib/ponto/client.rb', line 34

def build_uri(path)
  URI.join(@base_uri, path).to_s
end

#delete(uri:, query_params: {}, access_token: nil, headers: nil) ⇒ Object



29
30
31
32
# File 'lib/ponto/client.rb', line 29

def delete(uri:, query_params: {}, access_token: nil, headers: nil)
  headers = build_headers(access_token: access_token, extra_headers: headers)
  execute(method: :delete, uri: uri, headers: headers, query_params: query_params)
end

#get(uri:, query_params: {}, headers: nil, access_token: nil) ⇒ Object



14
15
16
17
# File 'lib/ponto/client.rb', line 14

def get(uri:, query_params: {}, headers: nil, access_token: nil)
  headers = build_headers(access_token: access_token, extra_headers: headers)
  execute(method: :get, uri: uri, headers: headers, query_params: query_params)
end

#patch(uri:, payload:, query_params: {}, access_token: nil) ⇒ Object



24
25
26
27
# File 'lib/ponto/client.rb', line 24

def patch(uri:, payload:, query_params: {}, access_token: nil)
  headers = build_headers(access_token: access_token)
  execute(method: :patch, uri: uri, headers: headers, query_params: query_params, payload: payload)
end

#post(uri:, payload:, query_params: {}, headers: nil, access_token: nil) ⇒ Object



19
20
21
22
# File 'lib/ponto/client.rb', line 19

def post(uri:, payload:, query_params: {}, headers: nil, access_token: nil)
  headers = build_headers(access_token: access_token, extra_headers: headers)
  execute(method: :post, uri: uri, headers: headers, query_params: query_params, payload: payload)
end