Class: Pingen::Client

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

Defined Under Namespace

Classes: NoLogger

Constant Summary collapse

DEFAULT_TIMEOUT =

in seconds

60

Instance Method Summary collapse

Constructor Details

#initialize(base_url: nil, token: nil, logger: NoLogger.new) ⇒ Client

Returns a new instance of Client.



17
18
19
20
21
# File 'lib/pingen/client.rb', line 17

def initialize(base_url: nil, token: nil, logger: NoLogger.new)
  @base_url = base_url || ENV["PINGEN_API_URL"] || "https://api.pingen.com"
  @token = token || ENV["PINGEN_API_TOKEN"]
  @logger = logger
end

Instance Method Details

#documentsObject



23
24
25
# File 'lib/pingen/client.rb', line 23

def documents
  @documents ||= Documents.new(self)
end

#get_request(path, params = nil, request_params = {}) ⇒ Object



31
32
33
34
35
# File 'lib/pingen/client.rb', line 31

def get_request(path, params = nil, request_params = {})
  url = build_url(path)
  req = build_get_request(url, params)
  perform_request(url, req, request_params)
end

#post_multipart_request(path, file, params, request_params = {}) ⇒ Object



43
44
45
46
47
# File 'lib/pingen/client.rb', line 43

def post_multipart_request(path, file, params, request_params = {})
  url = build_url(path)
  request = build_multipart_post_request(url, file, params)
  perform_request(url, request, request_params)
end

#post_request(path, params, request_params = {}) ⇒ Object



37
38
39
40
41
# File 'lib/pingen/client.rb', line 37

def post_request(path, params, request_params = {})
  url = build_url(path)
  request = build_post_request(url, params)
  perform_request(url, request, request_params)
end

#sendsObject



27
28
29
# File 'lib/pingen/client.rb', line 27

def sends
  @sends ||= Sends.new(self)
end