Class: PredicsisMlSdk::Requests

Inherits:
Object
  • Object
show all
Extended by:
Util
Defined in:
lib/predicsis_ml_sdk/requests.rb

Constant Summary collapse

MODELS =
%w(source dataset dictionary preparation_rules_set modalities_set report model data_file)

Instance Attribute Summary

Attributes included from Util

#token

Class Method Summary collapse

Methods included from Util

bearer_token, define_attributes, included, with_captured_console

Class Method Details

.delete_job(token, id) ⇒ Object



79
80
81
82
# File 'lib/predicsis_ml_sdk/requests.rb', line 79

def delete_job(token, id)
  PredicsisMlSdk.logger.debug "DELETE job/#{id}"
  delete("#{api_host}/jobs/#{id}", nil, headers(token))
end

.delete_token(token, id) ⇒ Object



47
48
49
50
# File 'lib/predicsis_ml_sdk/requests.rb', line 47

def delete_token(token, id)
  PredicsisMlSdk.logger.debug "DELETE settings/tokens/#{id}"
  delete("#{api_host}/settings/tokens/#{id}", nil, headers(token))
end

.get_credentials(type, token) ⇒ Object



52
53
54
55
# File 'lib/predicsis_ml_sdk/requests.rb', line 52

def get_credentials(type, token)
  PredicsisMlSdk.logger.debug 'GET credentials'
  get("#{api_host}/sources/credentials/#{type}", nil, headers(token))['credentials']
end

.get_job(token, id) ⇒ Object



70
71
72
# File 'lib/predicsis_ml_sdk/requests.rb', line 70

def get_job(token, id)
  get("#{api_host}/jobs/#{id}", nil, headers(token))['job']
end

.get_jobs(token) ⇒ Object



74
75
76
77
# File 'lib/predicsis_ml_sdk/requests.rb', line 74

def get_jobs(token)
  PredicsisMlSdk.logger.debug 'GET jobs'
  get("#{api_host}/jobs", nil, headers(token))['jobs']
end

.get_signed_url(token, id) ⇒ Object



101
102
103
104
# File 'lib/predicsis_ml_sdk/requests.rb', line 101

def get_signed_url(token, id)
  PredicsisMlSdk.logger.debug "GET data_files/#{id}/signed_url"
  get("#{api_host}/data_files/#{id}/signed_url", nil, headers(token))['data_file']
end

.get_token(token, id) ⇒ Object



37
38
39
40
# File 'lib/predicsis_ml_sdk/requests.rb', line 37

def get_token(token, id)
  PredicsisMlSdk.logger.debug "GET settings/tokens/#{id}"
  get("#{api_host}/settings/tokens/#{id}", nil, headers(token))['token']
end

.get_tokens(token) ⇒ Object



42
43
44
45
# File 'lib/predicsis_ml_sdk/requests.rb', line 42

def get_tokens(token)
  PredicsisMlSdk.logger.debug 'GET settings/tokens'
  get("#{api_host}/settings/tokens", nil, headers(token))['tokens']
end

.get_variable(token, id, parent_id) ⇒ Object



89
90
91
92
# File 'lib/predicsis_ml_sdk/requests.rb', line 89

def get_variable(token, id, parent_id)
  PredicsisMlSdk.logger.debug "GET dictionaries/#{parent_id}/variables/#{id}"
  get("#{api_host}/dictionaries/#{parent_id}/variables/#{id}", nil, headers(token))['variable']
end

.get_variables(token, parent_id) ⇒ Object



84
85
86
87
# File 'lib/predicsis_ml_sdk/requests.rb', line 84

def get_variables(token, parent_id)
  PredicsisMlSdk.logger.debug "GET dictionaries/#{parent_id}/variables"
  get("#{api_host}/dictionaries/#{parent_id}/variables", nil, headers(token))['variables']
end

.patch_variable(token, id, parent_id, params = {}) ⇒ Object



94
95
96
97
98
99
# File 'lib/predicsis_ml_sdk/requests.rb', line 94

def patch_variable(token, id, parent_id, params = {})
  PredicsisMlSdk.logger.debug "PATCH dictionaries/#{parent_id}/variables/#{id}"
  params = { variable: params }.to_json
  patch("#{api_host}/dictionaries/#{parent_id}/variables/#{id}",
    params, headers(token))['variable']
end

.post_token(token, params) ⇒ Object



29
30
31
32
33
34
35
# File 'lib/predicsis_ml_sdk/requests.rb', line 29

def post_token(token, params)
  PredicsisMlSdk.logger.debug 'POST settings/tokens'
  params = { token: params }.to_json
  response = post("#{api_host}/settings/tokens", params, headers(token))
  PredicsisMlSdk.logger.debug "Personal Access Token: #{response['token']['token']}"
  response['token']
end

.upload(params = {}) ⇒ Object



57
58
59
60
61
62
63
64
65
66
67
68
# File 'lib/predicsis_ml_sdk/requests.rb', line 57

def upload(params = {})
  filename = params.delete('file')
  endpoint = params.delete('signed_url')
  PredicsisMlSdk.logger.debug "UPLOAD #{filename}"
  response = HTTParty.put(endpoint, body_stream: File.open(filename),
                                    headers: { 'Content-Length' => File.size(filename).to_s })
  if [200, 201, 204].include? response.code
    params['key'] || params['object']
  else
    fail RequestError.new(response['message'], JSON.parse(response.body))
  end
end