predicsis_ml_sdk 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/predicsis_ml_sdk/access_token.rb +9 -9
- data/lib/predicsis_ml_sdk/core_ext/string.rb +10 -0
- data/lib/predicsis_ml_sdk/core_ext.rb +1 -0
- data/lib/predicsis_ml_sdk/credentials.rb +6 -4
- data/lib/predicsis_ml_sdk/data_file.rb +5 -4
- data/lib/predicsis_ml_sdk/dataset.rb +6 -5
- data/lib/predicsis_ml_sdk/dictionary.rb +6 -5
- data/lib/predicsis_ml_sdk/errors.rb +22 -0
- data/lib/predicsis_ml_sdk/job.rb +3 -6
- data/lib/predicsis_ml_sdk/job_stuff.rb +3 -3
- data/lib/predicsis_ml_sdk/modalities_set.rb +6 -5
- data/lib/predicsis_ml_sdk/model.rb +6 -5
- data/lib/predicsis_ml_sdk/preparation_rules_set.rb +6 -5
- data/lib/predicsis_ml_sdk/report.rb +5 -4
- data/lib/predicsis_ml_sdk/requests.rb +16 -11
- data/lib/predicsis_ml_sdk/source.rb +6 -5
- data/lib/predicsis_ml_sdk/util.rb +27 -0
- data/lib/predicsis_ml_sdk/variable.rb +4 -3
- data/lib/predicsis_ml_sdk/version.rb +1 -1
- data/lib/predicsis_ml_sdk.rb +19 -3
- metadata +7 -26
- data/lib/initializer.rb +0 -13
- data/lib/predicsis_ml_sdk/predicsis_error.rb +0 -22
- data/lib/support/helper.rb +0 -34
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 46b0503a05a9c9bdc88f0e055fcf0b7698a85fd9
|
4
|
+
data.tar.gz: 2f0e48e57495268e84c215b5132245e7f9a5fc69
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fcbaa1915aa80607fc4fc0e2d91ae10c3a8c5512d45aca5c5815c1eacb14416624f50c74b5f6c40ad2edf24e3e807d03b4f51a38415334231da72e910d83f9fc
|
7
|
+
data.tar.gz: e2937ae8066601f23cbacaf2994063ec9cf90172845f798db8f23c47036c9c3a0047760bd8e00e17066c589c4d9cbe25521722da8aabbbb0304655487017b5d8
|
@@ -1,26 +1,27 @@
|
|
1
1
|
module PredicsisMlSdk
|
2
2
|
class AccessToken
|
3
|
+
include Util
|
3
4
|
attr_accessor :id
|
4
5
|
|
5
6
|
def self.create(params = {}, token = nil)
|
6
|
-
|
7
|
+
new(nil, token).create(params)
|
7
8
|
end
|
8
9
|
|
9
10
|
def self.all(token = nil)
|
10
|
-
data = Requests.
|
11
|
+
data = Requests.get_tokens(token)
|
11
12
|
data.each_with_object([]) do |e, a|
|
12
|
-
a <<
|
13
|
+
a << new(e['id'], token).tap do |resource|
|
13
14
|
resource.send(:define_attributes, e)
|
14
15
|
end
|
15
16
|
end
|
16
17
|
end
|
17
18
|
|
18
19
|
def self.get(id, token = nil)
|
19
|
-
|
20
|
+
new(id, token).get
|
20
21
|
end
|
21
22
|
|
22
23
|
def self.delete(id, token = nil)
|
23
|
-
|
24
|
+
new(id, token).delete
|
24
25
|
end
|
25
26
|
|
26
27
|
def initialize(id = nil, token = nil)
|
@@ -29,20 +30,19 @@ module PredicsisMlSdk
|
|
29
30
|
end
|
30
31
|
|
31
32
|
def create(params = {})
|
32
|
-
data = Requests.
|
33
|
+
data = Requests.post_token(@token, params)
|
33
34
|
define_attributes(data)
|
34
|
-
wait_for_job if @job_ids && !@job_ids.empty?
|
35
35
|
self
|
36
36
|
end
|
37
37
|
|
38
38
|
def get
|
39
|
-
data = Requests.
|
39
|
+
data = Requests.get_token(@token, @id)
|
40
40
|
define_attributes(data)
|
41
41
|
self
|
42
42
|
end
|
43
43
|
|
44
44
|
def delete
|
45
|
-
Requests.
|
45
|
+
Requests.delete_token(@token, @id)
|
46
46
|
self
|
47
47
|
end
|
48
48
|
end
|
@@ -0,0 +1 @@
|
|
1
|
+
require 'predicsis_ml_sdk/core_ext/string'
|
@@ -1,7 +1,9 @@
|
|
1
1
|
module PredicsisMlSdk
|
2
2
|
class Credentials
|
3
|
+
include Util
|
4
|
+
|
3
5
|
def self.get(type = 's3', token = nil)
|
4
|
-
|
6
|
+
new(token).get(type)
|
5
7
|
end
|
6
8
|
|
7
9
|
def initialize(token = nil)
|
@@ -12,12 +14,12 @@ module PredicsisMlSdk
|
|
12
14
|
data = Requests.get_credentials(type, @token)
|
13
15
|
define_attributes(data)
|
14
16
|
self
|
15
|
-
rescue => e
|
16
|
-
raise e
|
17
17
|
end
|
18
18
|
|
19
19
|
def to_h
|
20
|
-
instance_variables.each_with_object({})
|
20
|
+
instance_variables.each_with_object({}) do |var, hash|
|
21
|
+
hash[var.to_s.delete("@")] = instance_variable_get(var) unless var.to_s == '@token'
|
22
|
+
end
|
21
23
|
end
|
22
24
|
end
|
23
25
|
end
|
@@ -1,5 +1,6 @@
|
|
1
1
|
module PredicsisMlSdk
|
2
2
|
class DataFile
|
3
|
+
include Util
|
3
4
|
attr_accessor :id
|
4
5
|
|
5
6
|
def self.upload(params = {})
|
@@ -8,11 +9,11 @@ module PredicsisMlSdk
|
|
8
9
|
end
|
9
10
|
|
10
11
|
def self.get(id, token = nil)
|
11
|
-
|
12
|
+
new(id, token).get
|
12
13
|
end
|
13
14
|
|
14
|
-
def self.
|
15
|
-
|
15
|
+
def self.get_signed_url(id, token = nil)
|
16
|
+
new(id, token).get_signed_url
|
16
17
|
end
|
17
18
|
|
18
19
|
def initialize(id = nil, token = nil)
|
@@ -26,7 +27,7 @@ module PredicsisMlSdk
|
|
26
27
|
self
|
27
28
|
end
|
28
29
|
|
29
|
-
def
|
30
|
+
def get_signed_url
|
30
31
|
data = Requests.get_signed_url(@token, @id)
|
31
32
|
define_attributes(data)
|
32
33
|
self
|
@@ -1,32 +1,33 @@
|
|
1
1
|
module PredicsisMlSdk
|
2
2
|
class Dataset
|
3
|
+
include Util
|
3
4
|
include JobStuff
|
4
5
|
|
5
6
|
attr_accessor :id
|
6
7
|
|
7
8
|
def self.create(params = {}, token = nil)
|
8
|
-
|
9
|
+
new(nil, token).create(params)
|
9
10
|
end
|
10
11
|
|
11
12
|
def self.all(token = nil)
|
12
13
|
data = Requests.get_datasets(token)
|
13
14
|
data.each_with_object([]) do |e, a|
|
14
|
-
a <<
|
15
|
+
a << new(e['id'], token).tap do |resource|
|
15
16
|
resource.send(:define_attributes, e)
|
16
17
|
end
|
17
18
|
end
|
18
19
|
end
|
19
20
|
|
20
21
|
def self.get(id, token = nil)
|
21
|
-
|
22
|
+
new(id, token).get
|
22
23
|
end
|
23
24
|
|
24
25
|
def self.update(id, params = {}, token = nil)
|
25
|
-
|
26
|
+
new(id, token).update(params)
|
26
27
|
end
|
27
28
|
|
28
29
|
def self.delete(id, token = nil)
|
29
|
-
|
30
|
+
new(id, token).delete
|
30
31
|
end
|
31
32
|
|
32
33
|
def initialize(id = nil, token = nil)
|
@@ -1,32 +1,33 @@
|
|
1
1
|
module PredicsisMlSdk
|
2
2
|
class Dictionary
|
3
|
+
include Util
|
3
4
|
include JobStuff
|
4
5
|
|
5
6
|
attr_accessor :id
|
6
7
|
|
7
8
|
def self.create(params = {}, token = nil)
|
8
|
-
|
9
|
+
new(nil, token).create(params)
|
9
10
|
end
|
10
11
|
|
11
12
|
def self.all(token = nil)
|
12
13
|
data = Requests.get_dictionaries(token)
|
13
14
|
data.each_with_object([]) do |e, a|
|
14
|
-
a <<
|
15
|
+
a << new(e['id'], token).tap do |resource|
|
15
16
|
resource.send(:define_attributes, e)
|
16
17
|
end
|
17
18
|
end
|
18
19
|
end
|
19
20
|
|
20
21
|
def self.get(id, token = nil)
|
21
|
-
|
22
|
+
new(id, token).get
|
22
23
|
end
|
23
24
|
|
24
25
|
def self.update(id, params = {}, token = nil)
|
25
|
-
|
26
|
+
new(id, token).update(params)
|
26
27
|
end
|
27
28
|
|
28
29
|
def self.delete(id, token = nil)
|
29
|
-
|
30
|
+
new(id, token).delete
|
30
31
|
end
|
31
32
|
|
32
33
|
def initialize(id = nil, token = nil)
|
@@ -0,0 +1,22 @@
|
|
1
|
+
module PredicsisMlSdk
|
2
|
+
class Error < StandardError
|
3
|
+
attr_reader :error
|
4
|
+
|
5
|
+
def initialize(message = nil, error = nil)
|
6
|
+
super(message)
|
7
|
+
@error = error
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
class JobError < Error
|
12
|
+
attr_reader :job_id, :action
|
13
|
+
|
14
|
+
def initialize(message = nil, error = nil, job_id = nil, action = nil)
|
15
|
+
super(message, error)
|
16
|
+
@job_id = job_id
|
17
|
+
@action = action
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
class RequestError < Error; end
|
22
|
+
end
|
data/lib/predicsis_ml_sdk/job.rb
CHANGED
@@ -3,17 +3,18 @@ require 'observer'
|
|
3
3
|
module PredicsisMlSdk
|
4
4
|
class Job
|
5
5
|
include Observable
|
6
|
+
include Util
|
6
7
|
|
7
8
|
attr_accessor :id
|
8
9
|
|
9
10
|
def self.get(id, token = nil)
|
10
|
-
|
11
|
+
new(id, token).get
|
11
12
|
end
|
12
13
|
|
13
14
|
def self.all(token = nil)
|
14
15
|
data = Requests.get_jobs(token)
|
15
16
|
data.each_with_object([]) do |e, a|
|
16
|
-
a <<
|
17
|
+
a << new(e['id'], token).tap do |resource|
|
17
18
|
resource.send(:define_attributes, e)
|
18
19
|
end
|
19
20
|
end
|
@@ -28,15 +29,11 @@ module PredicsisMlSdk
|
|
28
29
|
data = Requests.get_job(@token, @id)
|
29
30
|
define_attributes(data)
|
30
31
|
self
|
31
|
-
rescue => e
|
32
|
-
raise e
|
33
32
|
end
|
34
33
|
|
35
34
|
def delete
|
36
35
|
Requests.delete_job(@token, @id)
|
37
36
|
self
|
38
|
-
rescue => e
|
39
|
-
raise e
|
40
37
|
end
|
41
38
|
|
42
39
|
def succeeded?
|
@@ -16,7 +16,7 @@ module PredicsisMlSdk
|
|
16
16
|
def terminated?
|
17
17
|
return true if @job_ids.empty?
|
18
18
|
if job.failed?
|
19
|
-
fail
|
19
|
+
fail JobError.new(job.error['message'], job.error, job.id, job.action)
|
20
20
|
else
|
21
21
|
return job.succeeded?
|
22
22
|
end
|
@@ -26,9 +26,9 @@ module PredicsisMlSdk
|
|
26
26
|
return if @job_ids.empty?
|
27
27
|
sleep(1) while job.pending?
|
28
28
|
if job.succeeded?
|
29
|
-
|
29
|
+
get
|
30
30
|
else
|
31
|
-
fail
|
31
|
+
fail JobError.new(job.error['message'], job.error, job.id, job.action)
|
32
32
|
end
|
33
33
|
self
|
34
34
|
end
|
@@ -1,32 +1,33 @@
|
|
1
1
|
module PredicsisMlSdk
|
2
2
|
class ModalitiesSet
|
3
|
+
include Util
|
3
4
|
include JobStuff
|
4
5
|
|
5
6
|
attr_accessor :id
|
6
7
|
|
7
8
|
def self.create(params = {}, token = nil)
|
8
|
-
|
9
|
+
new(nil, token).create(params)
|
9
10
|
end
|
10
11
|
|
11
12
|
def self.all(token = nil)
|
12
13
|
data = Requests.get_modalities_sets(token)
|
13
14
|
data.each_with_object([]) do |e, a|
|
14
|
-
a <<
|
15
|
+
a << new(e['id'], token).tap do |resource|
|
15
16
|
resource.send(:define_attributes, e)
|
16
17
|
end
|
17
18
|
end
|
18
19
|
end
|
19
20
|
|
20
21
|
def self.get(id, token = nil)
|
21
|
-
|
22
|
+
new(id, token).get
|
22
23
|
end
|
23
24
|
|
24
25
|
def self.update(id, params = {}, token = nil)
|
25
|
-
|
26
|
+
new(id, token).update(params)
|
26
27
|
end
|
27
28
|
|
28
29
|
def self.delete(id, token = nil)
|
29
|
-
|
30
|
+
new(id, token).delete
|
30
31
|
end
|
31
32
|
|
32
33
|
def initialize(id = nil, token = nil)
|
@@ -1,32 +1,33 @@
|
|
1
1
|
module PredicsisMlSdk
|
2
2
|
class Model
|
3
|
+
include Util
|
3
4
|
include JobStuff
|
4
5
|
|
5
6
|
attr_accessor :id
|
6
7
|
|
7
8
|
def self.create(params = {}, token = nil)
|
8
|
-
|
9
|
+
new(nil, token).create(params)
|
9
10
|
end
|
10
11
|
|
11
12
|
def self.all(token = nil)
|
12
13
|
data = Requests.get_models(token)
|
13
14
|
data.each_with_object([]) do |e, a|
|
14
|
-
a <<
|
15
|
+
a << new(e['id'], token).tap do |resource|
|
15
16
|
resource.send(:define_attributes, e)
|
16
17
|
end
|
17
18
|
end
|
18
19
|
end
|
19
20
|
|
20
21
|
def self.get(id, token = nil)
|
21
|
-
|
22
|
+
new(id, token).get
|
22
23
|
end
|
23
24
|
|
24
25
|
def self.update(id, params = {}, token = nil)
|
25
|
-
|
26
|
+
new(id, token).update(params)
|
26
27
|
end
|
27
28
|
|
28
29
|
def self.delete(id, token = nil)
|
29
|
-
|
30
|
+
new(id, token).delete
|
30
31
|
end
|
31
32
|
|
32
33
|
def initialize(id, token = nil)
|
@@ -1,32 +1,33 @@
|
|
1
1
|
module PredicsisMlSdk
|
2
2
|
class PreparationRulesSet
|
3
|
+
include Util
|
3
4
|
include JobStuff
|
4
5
|
|
5
6
|
attr_accessor :id
|
6
7
|
|
7
8
|
def self.create(params = {}, token = nil)
|
8
|
-
|
9
|
+
new(nil, token).create(params)
|
9
10
|
end
|
10
11
|
|
11
12
|
def self.all(token = nil)
|
12
13
|
data = Requests.get_preparation_rules_sets(token)
|
13
14
|
data.each_with_object([]) do |e, a|
|
14
|
-
a <<
|
15
|
+
a << new(e['id'], token).tap do |resource|
|
15
16
|
resource.send(:define_attributes, e)
|
16
17
|
end
|
17
18
|
end
|
18
19
|
end
|
19
20
|
|
20
21
|
def self.get(id, token = nil)
|
21
|
-
|
22
|
+
new(id, token).get
|
22
23
|
end
|
23
24
|
|
24
25
|
def self.update(id, params = {}, token = nil)
|
25
|
-
|
26
|
+
new(id, token).update(params)
|
26
27
|
end
|
27
28
|
|
28
29
|
def self.delete(id, token = nil)
|
29
|
-
|
30
|
+
new(id, token).delete
|
30
31
|
end
|
31
32
|
|
32
33
|
def initialize(id = nil, token = nil)
|
@@ -1,11 +1,12 @@
|
|
1
1
|
module PredicsisMlSdk
|
2
2
|
class Report
|
3
|
+
include Util
|
3
4
|
include JobStuff
|
4
5
|
|
5
6
|
attr_accessor :id
|
6
7
|
|
7
8
|
def self.create(params = {}, token = nil)
|
8
|
-
|
9
|
+
new(nil, token).create(params)
|
9
10
|
end
|
10
11
|
|
11
12
|
def self.all(token = nil)
|
@@ -18,15 +19,15 @@ module PredicsisMlSdk
|
|
18
19
|
end
|
19
20
|
|
20
21
|
def self.get(id, token = nil)
|
21
|
-
|
22
|
+
new(id, token).get
|
22
23
|
end
|
23
24
|
|
24
25
|
def self.update(id, params = {}, token = nil)
|
25
|
-
|
26
|
+
new(id, token).update(params)
|
26
27
|
end
|
27
28
|
|
28
29
|
def self.delete(id, token = nil)
|
29
|
-
|
30
|
+
new(id, token).delete
|
30
31
|
end
|
31
32
|
|
32
33
|
def initialize(id, token = nil)
|
@@ -1,9 +1,9 @@
|
|
1
|
-
require 'support/helper'
|
2
1
|
require 'httmultiparty'
|
3
2
|
require 'nokogiri'
|
4
3
|
|
5
4
|
module PredicsisMlSdk
|
6
5
|
class Requests
|
6
|
+
extend Util
|
7
7
|
HTTParty::Basement.default_options.update(verify: false)
|
8
8
|
|
9
9
|
MODELS = %w(source dataset dictionary preparation_rules_set modalities_set report model data_file)
|
@@ -18,7 +18,7 @@ module PredicsisMlSdk
|
|
18
18
|
if [200, 201, 204].include? response.code
|
19
19
|
return response
|
20
20
|
else
|
21
|
-
fail
|
21
|
+
fail RequestError.new(response['message'],
|
22
22
|
JSON.parse(response.body))
|
23
23
|
end
|
24
24
|
end
|
@@ -26,25 +26,25 @@ module PredicsisMlSdk
|
|
26
26
|
end
|
27
27
|
end
|
28
28
|
|
29
|
-
def
|
29
|
+
def post_token(token, params)
|
30
30
|
PredicsisMlSdk.logger.debug 'POST settings/tokens'
|
31
31
|
params = { token: params }.to_json
|
32
32
|
response = post("#{api_host}/settings/tokens", params, headers(token))
|
33
|
-
PredicsisMlSdk.logger.debug "Personal Access Token: #{response['
|
34
|
-
response
|
33
|
+
PredicsisMlSdk.logger.debug "Personal Access Token: #{response['token']['token']}"
|
34
|
+
response['token']
|
35
35
|
end
|
36
36
|
|
37
|
-
def
|
37
|
+
def get_token(token, id)
|
38
38
|
PredicsisMlSdk.logger.debug "GET settings/tokens/#{id}"
|
39
|
-
get("#{api_host}/settings/tokens/#{id}", nil, headers(token))
|
39
|
+
get("#{api_host}/settings/tokens/#{id}", nil, headers(token))['token']
|
40
40
|
end
|
41
41
|
|
42
|
-
def
|
42
|
+
def get_tokens(token)
|
43
43
|
PredicsisMlSdk.logger.debug 'GET settings/tokens'
|
44
|
-
get("#{api_host}/settings/tokens", nil, headers(token))
|
44
|
+
get("#{api_host}/settings/tokens", nil, headers(token))['tokens']
|
45
45
|
end
|
46
46
|
|
47
|
-
def
|
47
|
+
def delete_token(token, id)
|
48
48
|
PredicsisMlSdk.logger.debug "DELETE settings/tokens/#{id}"
|
49
49
|
delete("#{api_host}/settings/tokens/#{id}", nil, headers(token))
|
50
50
|
end
|
@@ -63,7 +63,7 @@ module PredicsisMlSdk
|
|
63
63
|
if [200, 201, 204].include? response.code
|
64
64
|
params['key'] || params['object']
|
65
65
|
else
|
66
|
-
fail
|
66
|
+
fail RequestError.new(response['message'], JSON.parse(response.body))
|
67
67
|
end
|
68
68
|
end
|
69
69
|
|
@@ -86,6 +86,11 @@ module PredicsisMlSdk
|
|
86
86
|
get("#{api_host}/dictionaries/#{parent_id}/variables", nil, headers(token))['variables']
|
87
87
|
end
|
88
88
|
|
89
|
+
def get_variable(token, id, parent_id)
|
90
|
+
PredicsisMlSdk.logger.debug "GET dictionaries/#{parent_id}/variables/#{id}"
|
91
|
+
get("#{api_host}/dictionaries/#{parent_id}/variables/#{id}", nil, headers(token))['variable']
|
92
|
+
end
|
93
|
+
|
89
94
|
def patch_variable(token, id, parent_id, params = {})
|
90
95
|
PredicsisMlSdk.logger.debug "PATCH dictionaries/#{parent_id}/variables/#{id}"
|
91
96
|
params = { variable: params }.to_json
|
@@ -1,30 +1,31 @@
|
|
1
1
|
module PredicsisMlSdk
|
2
2
|
class Source
|
3
|
+
include Util
|
3
4
|
attr_accessor :id
|
4
5
|
|
5
6
|
def self.create(params = {}, token = nil)
|
6
|
-
|
7
|
+
new(nil, token).create(params)
|
7
8
|
end
|
8
9
|
|
9
10
|
def self.all(token = nil)
|
10
11
|
data = Requests.get_sources(token)
|
11
12
|
data.each_with_object([]) do |e, a|
|
12
|
-
a <<
|
13
|
+
a << new(e['id'], token).tap do |resource|
|
13
14
|
resource.send(:define_attributes, e)
|
14
15
|
end
|
15
16
|
end
|
16
17
|
end
|
17
18
|
|
18
19
|
def self.get(id, token = nil)
|
19
|
-
|
20
|
+
new(id, token).get
|
20
21
|
end
|
21
22
|
|
22
23
|
def self.update(id, params = {}, token = nil)
|
23
|
-
|
24
|
+
new(id, token).update(params)
|
24
25
|
end
|
25
26
|
|
26
27
|
def self.delete(id, token = nil)
|
27
|
-
|
28
|
+
new(id, token).delete
|
28
29
|
end
|
29
30
|
|
30
31
|
def initialize(id = nil, token = nil)
|
@@ -0,0 +1,27 @@
|
|
1
|
+
module Util
|
2
|
+
def with_captured_console
|
3
|
+
old_stdout = $stdout
|
4
|
+
old_stderr = $stderr
|
5
|
+
$stdout = $stderr = StringIO.new('', 'w')
|
6
|
+
yield
|
7
|
+
$stdout.string
|
8
|
+
ensure
|
9
|
+
$stdout = old_stdout
|
10
|
+
$stderr = old_stderr
|
11
|
+
end
|
12
|
+
|
13
|
+
def define_attributes(data)
|
14
|
+
data.each do |k, v|
|
15
|
+
if k.eql?('error')
|
16
|
+
self.class.class_eval { attr_accessor "#{k}" }
|
17
|
+
send("#{k}=", v)
|
18
|
+
elsif v.is_a?(Hash)
|
19
|
+
v.delete('id')
|
20
|
+
define_attributes(v)
|
21
|
+
else
|
22
|
+
self.class.class_eval { attr_accessor "#{k}" }
|
23
|
+
send("#{k}=", v)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -1,19 +1,20 @@
|
|
1
1
|
module PredicsisMlSdk
|
2
2
|
class Variable
|
3
|
+
include Util
|
3
4
|
attr_accessor :dictionary_id, :id
|
4
5
|
|
5
6
|
def self.get(dictionary_id, id, token = nil)
|
6
|
-
|
7
|
+
new(dictionary_id, id, token).get
|
7
8
|
end
|
8
9
|
|
9
10
|
def self.update(dictionary_id, id, params = {}, token = nil)
|
10
|
-
|
11
|
+
new(dictionary_id, id, token).update(params)
|
11
12
|
end
|
12
13
|
|
13
14
|
def self.all(dictionary_id, token = nil)
|
14
15
|
data = Requests.get_variables(token, dictionary_id)
|
15
16
|
data.each_with_object([]) do |e, a|
|
16
|
-
a <<
|
17
|
+
a << new(dictionary_id, e['id'], token).tap do |variable|
|
17
18
|
variable.send(:define_attributes, e)
|
18
19
|
end
|
19
20
|
end
|
data/lib/predicsis_ml_sdk.rb
CHANGED
@@ -1,8 +1,12 @@
|
|
1
|
-
require 'initializer'
|
2
|
-
require 'support/helper'
|
3
1
|
require 'json'
|
4
2
|
require 'stringio'
|
5
3
|
require 'logger'
|
4
|
+
require 'predicsis_ml_sdk/version'
|
5
|
+
require 'predicsis_ml_sdk/configuration'
|
6
|
+
require 'predicsis_ml_sdk/core_ext'
|
7
|
+
require 'predicsis_ml_sdk/errors'
|
8
|
+
require 'predicsis_ml_sdk/util'
|
9
|
+
require 'predicsis_ml_sdk/requests'
|
6
10
|
|
7
11
|
module PredicsisMlSdk
|
8
12
|
class << self
|
@@ -21,5 +25,17 @@ module PredicsisMlSdk
|
|
21
25
|
config.logger
|
22
26
|
end
|
23
27
|
|
24
|
-
|
28
|
+
autoload :AccessToken, 'predicsis_ml_sdk/access_token'
|
29
|
+
autoload :Credentials, 'predicsis_ml_sdk/credentials'
|
30
|
+
autoload :DataFile, 'predicsis_ml_sdk/data_file'
|
31
|
+
autoload :Dataset, 'predicsis_ml_sdk/dataset'
|
32
|
+
autoload :Dictionary, 'predicsis_ml_sdk/dictionary'
|
33
|
+
autoload :Job, 'predicsis_ml_sdk/job'
|
34
|
+
autoload :JobStuff, 'predicsis_ml_sdk/job_stuff'
|
35
|
+
autoload :ModalitiesSet, 'predicsis_ml_sdk/modalities_set'
|
36
|
+
autoload :Model, 'predicsis_ml_sdk/model'
|
37
|
+
autoload :PreparationRulesSet, 'predicsis_ml_sdk/preparation_rules_set'
|
38
|
+
autoload :Report, 'predicsis_ml_sdk/report'
|
39
|
+
autoload :Source, 'predicsis_ml_sdk/source'
|
40
|
+
autoload :Variable, 'predicsis_ml_sdk/variable'
|
25
41
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: predicsis_ml_sdk
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Armand
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-10-
|
11
|
+
date: 2015-10-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: json
|
@@ -90,26 +90,6 @@ dependencies:
|
|
90
90
|
- - ">="
|
91
91
|
- !ruby/object:Gem::Version
|
92
92
|
version: 1.6.3
|
93
|
-
- !ruby/object:Gem::Dependency
|
94
|
-
name: rspec
|
95
|
-
requirement: !ruby/object:Gem::Requirement
|
96
|
-
requirements:
|
97
|
-
- - "~>"
|
98
|
-
- !ruby/object:Gem::Version
|
99
|
-
version: '3.1'
|
100
|
-
- - ">="
|
101
|
-
- !ruby/object:Gem::Version
|
102
|
-
version: 3.1.0
|
103
|
-
type: :development
|
104
|
-
prerelease: false
|
105
|
-
version_requirements: !ruby/object:Gem::Requirement
|
106
|
-
requirements:
|
107
|
-
- - "~>"
|
108
|
-
- !ruby/object:Gem::Version
|
109
|
-
version: '3.1'
|
110
|
-
- - ">="
|
111
|
-
- !ruby/object:Gem::Version
|
112
|
-
version: 3.1.0
|
113
93
|
description: 'PredicSis ML SDK is the official SDK for PredicSis API: http://launch.predicsis.com/'
|
114
94
|
email:
|
115
95
|
- armand.bourquin@predicsis.com
|
@@ -117,26 +97,27 @@ executables: []
|
|
117
97
|
extensions: []
|
118
98
|
extra_rdoc_files: []
|
119
99
|
files:
|
120
|
-
- lib/initializer.rb
|
121
100
|
- lib/predicsis_ml_sdk.rb
|
122
101
|
- lib/predicsis_ml_sdk/access_token.rb
|
123
102
|
- lib/predicsis_ml_sdk/configuration.rb
|
103
|
+
- lib/predicsis_ml_sdk/core_ext.rb
|
104
|
+
- lib/predicsis_ml_sdk/core_ext/string.rb
|
124
105
|
- lib/predicsis_ml_sdk/credentials.rb
|
125
106
|
- lib/predicsis_ml_sdk/data_file.rb
|
126
107
|
- lib/predicsis_ml_sdk/dataset.rb
|
127
108
|
- lib/predicsis_ml_sdk/dictionary.rb
|
109
|
+
- lib/predicsis_ml_sdk/errors.rb
|
128
110
|
- lib/predicsis_ml_sdk/job.rb
|
129
111
|
- lib/predicsis_ml_sdk/job_stuff.rb
|
130
112
|
- lib/predicsis_ml_sdk/modalities_set.rb
|
131
113
|
- lib/predicsis_ml_sdk/model.rb
|
132
|
-
- lib/predicsis_ml_sdk/predicsis_error.rb
|
133
114
|
- lib/predicsis_ml_sdk/preparation_rules_set.rb
|
134
115
|
- lib/predicsis_ml_sdk/report.rb
|
135
116
|
- lib/predicsis_ml_sdk/requests.rb
|
136
117
|
- lib/predicsis_ml_sdk/source.rb
|
118
|
+
- lib/predicsis_ml_sdk/util.rb
|
137
119
|
- lib/predicsis_ml_sdk/variable.rb
|
138
120
|
- lib/predicsis_ml_sdk/version.rb
|
139
|
-
- lib/support/helper.rb
|
140
121
|
homepage: https://github.com/PredicSis/predicsis_ml_sdk-ruby
|
141
122
|
licenses:
|
142
123
|
- MIT
|
@@ -157,7 +138,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
157
138
|
version: '0'
|
158
139
|
requirements: []
|
159
140
|
rubyforge_project:
|
160
|
-
rubygems_version: 2.
|
141
|
+
rubygems_version: 2.4.7
|
161
142
|
signing_key:
|
162
143
|
specification_version: 4
|
163
144
|
summary: PredicSis ML SDK
|
data/lib/initializer.rb
DELETED
@@ -1,13 +0,0 @@
|
|
1
|
-
module Initializer
|
2
|
-
def self.autoload_paths
|
3
|
-
require "#{self.pwd}/predicsis_ml_sdk/predicsis_error.rb"
|
4
|
-
require "#{self.pwd}/predicsis_ml_sdk/job_stuff.rb"
|
5
|
-
Dir[File.join(self.pwd, 'predicsis_ml_sdk', '**', '*.rb')].each { |file| require file }
|
6
|
-
end
|
7
|
-
|
8
|
-
private
|
9
|
-
|
10
|
-
def self.pwd
|
11
|
-
File.dirname(File.expand_path(__FILE__))
|
12
|
-
end
|
13
|
-
end
|
@@ -1,22 +0,0 @@
|
|
1
|
-
module PredicsisMlSdk
|
2
|
-
class PredicsisError < StandardError
|
3
|
-
attr_accessor :error
|
4
|
-
|
5
|
-
def initialize(message = nil, error = nil)
|
6
|
-
super(message)
|
7
|
-
self.error = error
|
8
|
-
end
|
9
|
-
end
|
10
|
-
|
11
|
-
class PredicsisError::JobError < PredicsisError
|
12
|
-
attr_accessor :job_id, :action
|
13
|
-
|
14
|
-
def initialize(message = nil, error = nil, job_id = nil, action = nil)
|
15
|
-
super(message, error)
|
16
|
-
self.job_id = job_id
|
17
|
-
self.action = action
|
18
|
-
end
|
19
|
-
end
|
20
|
-
|
21
|
-
class PredicsisError::RequestError < PredicsisError; end
|
22
|
-
end
|
data/lib/support/helper.rb
DELETED
@@ -1,34 +0,0 @@
|
|
1
|
-
def with_captured_console
|
2
|
-
old_stdout = $stdout
|
3
|
-
old_stderr = $stderr
|
4
|
-
$stdout = $stderr = StringIO.new('', 'w')
|
5
|
-
yield
|
6
|
-
$stdout.string
|
7
|
-
ensure
|
8
|
-
$stdout = old_stdout
|
9
|
-
$stderr = old_stderr
|
10
|
-
end
|
11
|
-
|
12
|
-
def define_attributes(data)
|
13
|
-
data.each do |k, v|
|
14
|
-
if k.eql?('error')
|
15
|
-
self.class.class_eval { attr_accessor "#{k}" }
|
16
|
-
send("#{k}=", v)
|
17
|
-
elsif v.is_a?(Hash)
|
18
|
-
v.delete('id')
|
19
|
-
define_attributes(v)
|
20
|
-
else
|
21
|
-
self.class.class_eval { attr_accessor "#{k}" }
|
22
|
-
send("#{k}=", v)
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
26
|
-
|
27
|
-
class String
|
28
|
-
IRREGULAR = %w(dictionary)
|
29
|
-
|
30
|
-
def pluralize
|
31
|
-
return 'dictionaries' if self.eql? 'dictionary'
|
32
|
-
self + 's'
|
33
|
-
end
|
34
|
-
end
|