nexosis_api 1.0.3 → 1.0.5
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/nexosis_api/client.rb +4 -0
- data/lib/nexosis_api/client/imports.rb +75 -0
- data/lib/nexosis_api/client/sessions.rb +24 -13
- data/lib/nexosis_api/dataset_column.rb +11 -0
- data/lib/nexosis_api/http_exception.rb +7 -10
- data/lib/nexosis_api/imports_response.rb +66 -0
- data/lib/nexosis_api/session.rb +18 -0
- data/lib/nexosis_api/session_response.rb +1 -1
- data/lib/nexosis_api/time_interval.rb +15 -0
- data/nexosisapi.gemspec +1 -1
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0f9a520d658fe88b6f7d4e73e9d04482dec0183a
|
4
|
+
data.tar.gz: b7e5ccaa92a1970ce6562e497791cab3a3f7b418
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 61280b997acca1559619d03797003621f0e5c2a12f5ac5b78d4a86af2a5bd707783f2b9524358457b750a1b6db79df2725e6e2c4627fc4d815bc462fa239b180
|
7
|
+
data.tar.gz: 5f6b90b6bbac7c35072ca6da4991cd1d69d66edeed02fa627e2e8c435a5f91dc6896ab800c39f80368f5e0c3807f98660a73028080e766b9e49ce4c9da5f75ad
|
data/lib/nexosis_api/client.rb
CHANGED
@@ -9,13 +9,16 @@ require 'nexosis_api/dataset_model'
|
|
9
9
|
require 'nexosis_api/dataset_summary'
|
10
10
|
require 'nexosis_api/http_exception'
|
11
11
|
require 'nexosis_api/impact_metric'
|
12
|
+
require 'nexosis_api/imports_response'
|
12
13
|
require 'nexosis_api/link'
|
13
14
|
require 'nexosis_api/metric'
|
14
15
|
require 'nexosis_api/session_response'
|
15
16
|
require 'nexosis_api/session_result'
|
16
17
|
require 'nexosis_api/session'
|
18
|
+
require 'nexosis_api/time_interval'
|
17
19
|
require 'nexosis_api/client/sessions'
|
18
20
|
require 'nexosis_api/client/datasets'
|
21
|
+
require 'nexosis_api/client/imports'
|
19
22
|
|
20
23
|
module NexosisApi
|
21
24
|
# Primary entry point to working with Nexosis API
|
@@ -24,6 +27,7 @@ module NexosisApi
|
|
24
27
|
base_uri 'https://ml.nexosis.com/v1'
|
25
28
|
include Client::Sessions
|
26
29
|
include Client::Datasets
|
30
|
+
include Client::Imports
|
27
31
|
|
28
32
|
def initialize(options = {})
|
29
33
|
raise ArgumentError, 'api_key was not defined' unless options[:api_key].nil? == false
|
@@ -0,0 +1,75 @@
|
|
1
|
+
require 'json'
|
2
|
+
module NexosisApi
|
3
|
+
class Client
|
4
|
+
# Imports-based API operations
|
5
|
+
#
|
6
|
+
# @see http://docs.nexosis.com/
|
7
|
+
module Imports
|
8
|
+
|
9
|
+
# List all existing import requests
|
10
|
+
#
|
11
|
+
# @return [Array of NexosisApi::ImportsResponse]
|
12
|
+
def list_imports
|
13
|
+
imports_url = "/imports"
|
14
|
+
response = self.class.get(imports_url, :headers => @headers)
|
15
|
+
if(response.success?)
|
16
|
+
items = []
|
17
|
+
response.parsed_response["items"].each do |i|
|
18
|
+
items << NexosisApi::ImportsResponse.new(i)
|
19
|
+
end
|
20
|
+
items
|
21
|
+
else
|
22
|
+
raise HttpException.new("There was a problem getting the imports: #{response.code}.", "uploading dataset from s3 #{dataset_name}" ,response)
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
# Import a file from AWS s3 as your dataset
|
27
|
+
#
|
28
|
+
# @param dataset_name [String] the name to give to the new dataset or existing dataset to which this data will be upserted
|
29
|
+
# @param bucket_name [String] the AWS S3 bucket name in which the path will be found
|
30
|
+
# @param path [String] the path within the bucket (usually file name)
|
31
|
+
# @param region [String] the region in which your bucket exists. Defaults to us-east-1
|
32
|
+
# @param column_metadata [Array of NexosisApi::DatasetColumn] description of each column in target dataset. Optional.
|
33
|
+
# @return [NexosisApi::ImportsResponse]
|
34
|
+
# @see http://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region for information on region names
|
35
|
+
def import_from_s3(dataset_name, bucket_name, path, region = "us-east-1", column_metadata = [])
|
36
|
+
raise ArgumentError "dataset_name was not provided and is not optional " unless dataset_name.to_s.empty? == false
|
37
|
+
raise ArgumentError "bucket_name was not provided and is not optional " unless bucket_name.to_s.empty? == false
|
38
|
+
raise ArgumentError "path was not provided and is not optional " unless path.to_s.empty? == false
|
39
|
+
|
40
|
+
s3_import_url = "/imports/s3"
|
41
|
+
column_json = DatasetColumn.to_json(column_metadata)
|
42
|
+
body = {
|
43
|
+
"dataSetName" => dataset_name,
|
44
|
+
"bucket" => bucket_name,
|
45
|
+
"path" => path,
|
46
|
+
"region" => region,
|
47
|
+
"columns" => column_json
|
48
|
+
}
|
49
|
+
response = self.class.post(s3_import_url, :headers => @headers, :body => body.to_json)
|
50
|
+
if(response.success?)
|
51
|
+
NexosisApi::ImportsResponse.new(response.parsed_response)
|
52
|
+
else
|
53
|
+
raise HttpException.new("There was a problem importing from s3: #{response.code}.", "uploading dataset from s3 #{dataset_name}" ,response)
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
# Get s3 response back from import created previously. Presumably to check status.
|
58
|
+
#
|
59
|
+
# @param import_id [String] The id returned from a previous request to import
|
60
|
+
# @return [NexosisApi::ImportsResponse]
|
61
|
+
# @example get S3 import
|
62
|
+
# NexosisApi.client.retrieve_import('740dca2a-b488-4322-887e-fa473b1caa54')
|
63
|
+
def retrieve_import(import_id)
|
64
|
+
raise ArgumentError "import_id was not provided and is not optional " unless import_id.to_s.empty? == false
|
65
|
+
imports_url = "/imports/#{import_id}"
|
66
|
+
response = self.class.get(imports_url, :headers => @headers)
|
67
|
+
if(response.success?)
|
68
|
+
NexosisApi::ImportsResponse.new(response.parsed_response)
|
69
|
+
else
|
70
|
+
raise HttpException.new("There was a problem getting the import #{response.code}.", "requesting an import #{import_id}" ,response)
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
@@ -11,7 +11,7 @@ module NexosisApi
|
|
11
11
|
# List sessions previously submitted
|
12
12
|
#
|
13
13
|
# @param query_options [Hash] optionally provide query parameters to limit the search of sessions.
|
14
|
-
# @return[Array of NexosisApi::SessionResponse] with all sessions matching the query or all if no query
|
14
|
+
# @return [Array of NexosisApi::SessionResponse] with all sessions matching the query or all if no query
|
15
15
|
# @note query parameters hash members are dataset_name, event_name, requested_before_date, and requested_after_date.
|
16
16
|
# After and before dates refer to the session requested date.
|
17
17
|
# @example query for just one dataset
|
@@ -58,6 +58,8 @@ module NexosisApi
|
|
58
58
|
# @note query parameters hash members are type, dataset_name, event_name, start_date, and end_date.
|
59
59
|
# Start and end dates refer to the session requested date.
|
60
60
|
# Results are not removed but then can only be accessed by dataset name
|
61
|
+
# @example Remove all sessions based on a dataset by name
|
62
|
+
# NexosisApi.client.remove_sessions :dataset_name => 'existing_dataset'
|
61
63
|
def remove_sessions(query_options = {})
|
62
64
|
sessions_url = '/sessions'
|
63
65
|
response = self.class.delete(sessions_url, :headers => @headers, :query => get_query_from_options(query_options))
|
@@ -74,9 +76,13 @@ module NexosisApi
|
|
74
76
|
# @param start_date [DateTime] The starting date of the forecast period. Can be ISO 8601 string.
|
75
77
|
# @param end_date [DateTime] The ending date of the forecast period. Can be ISO 8601 string.
|
76
78
|
# @param target_column [String] The name of the column for which you want predictions. Nil if defined in dataset.
|
79
|
+
# @param result_interval [NexosisApi::TimeInterval] (optional) - The date/time interval (e.g. Day, Hour) at which predictions should be generated. So, if Hour is specified for this parameter you will get a Result record for each hour between startDate and endDate. If unspecified, we’ll generate predictions at a Day interval.
|
77
80
|
# @return [NexosisApi::SessionResponse] providing information about the sesssion
|
78
|
-
|
79
|
-
|
81
|
+
# @note The time interval selected must be greater than or equal to the finest granularity of the data provided.
|
82
|
+
# For instance if your data includes many recoreds per hour, then you could request hour, day, or any other result interval.
|
83
|
+
# However, if your data includes only a few records per day or fewer, then a request for an hourly result interval will produce poor results.
|
84
|
+
def create_forecast_session(dataset_name, start_date, end_date, target_column = nil, result_interval = NexosisApi::TimeInterval::DAY)
|
85
|
+
create_session(dataset_name, start_date, end_date, target_column, false, nil, "forecast", nil,nil,result_interval)
|
80
86
|
end
|
81
87
|
|
82
88
|
# Forecast from CSV formatted data.
|
@@ -85,13 +91,14 @@ module NexosisApi
|
|
85
91
|
# @param start_date [DateTime] The starting date of the forecast period. Can be ISO 8601 parseable string.
|
86
92
|
# @param end_date [DateTime] The ending date of the forecast period. Can be ISO 8601 parseable string.
|
87
93
|
# @param target_column [String] The name of the column for which you want predictions.
|
94
|
+
# @param result_interval [NexosisApi::TimeInterval] (optional) - The date/time interval (e.g. Day, Hour) at which predictions should be generated. So, if Hour is specified for this parameter you will get a Result record for each hour between startDate and endDate. If unspecified, we’ll generate predictions at a Day interval.
|
88
95
|
# @return [NexosisApi::SessionResponse] providing information about the sesssion
|
89
96
|
# @example load and send local file
|
90
97
|
# mycsv = CSV.read('.\mylocal.csv')
|
91
98
|
# NexosisApi.client(:api_key=>mykey).create_forecast_session_csv(mycsv,'sales','01-01-2017','02-01-2017')
|
92
|
-
def create_forecast_session_csv(csv, start_date, end_date, target_column)
|
99
|
+
def create_forecast_session_csv(csv, start_date, end_date, target_column, result_interval = NexosisApi::TimeInterval::DAY)
|
93
100
|
content = process_csv_to_s csv
|
94
|
-
create_session(nil, start_date, end_date, target_column, false, nil, "forecast", content)
|
101
|
+
create_session(nil, start_date, end_date, target_column, false, nil, "forecast", content, "text/csv", result_interval)
|
95
102
|
end
|
96
103
|
|
97
104
|
# Forecast from data posted in the request.
|
@@ -100,11 +107,12 @@ module NexosisApi
|
|
100
107
|
# @param start_date [DateTime] The starting date of the forecast period. Can be ISO 8601 string.
|
101
108
|
# @param end_date [DateTime] The ending date of the forecast period. Can be ISO 8601 string.
|
102
109
|
# @param target_column [String] The name of the column for which you want predictions. Nil if defined in dataset
|
110
|
+
# @param result_interval [NexosisApi::TimeInterval] (optional) - The date/time interval (e.g. Day, Hour) at which predictions should be generated. So, if Hour is specified for this parameter you will get a Result record for each hour between startDate and endDate. If unspecified, we’ll generate predictions at a Day interval.
|
103
111
|
# @return [NexosisApi::SessionResponse] providing information about the sesssion
|
104
112
|
# @see https://developers.nexosis.com/docs/services/98847a3fbbe64f73aa959d3cededb3af/operations/5919ef80a730020dd851f233
|
105
|
-
def create_forecast_session_data(json_data, start_date, end_date, target_column = nil)
|
113
|
+
def create_forecast_session_data(json_data, start_date, end_date, target_column = nil, result_interval = NexosisApi::TimeInterval::DAY)
|
106
114
|
json_data = json_data.to_json unless json_data.is_a? String
|
107
|
-
create_session nil, start_date, end_date, target_column, false, nil, "forecast", json_data, "application/json"
|
115
|
+
create_session nil, start_date, end_date, target_column, false, nil, "forecast", json_data, "application/json", result_interval
|
108
116
|
end
|
109
117
|
|
110
118
|
# Estimate the cost of a forecast from data already saved to the API.
|
@@ -125,9 +133,10 @@ module NexosisApi
|
|
125
133
|
# @param end_date [DateTime] The ending date of the impactful event. Can be ISO 8601 string.
|
126
134
|
# @param event_name [String] The name of the event.
|
127
135
|
# @param target_column [String] The name of the column for which you want predictions. Nil if defined in datatset.
|
136
|
+
# @param result_interval [NexosisApi::TimeInterval] (optional) - The date/time interval (e.g. Day, Hour) at which predictions should be generated. So, if Hour is specified for this parameter you will get a Result record for each hour between startDate and endDate. If unspecified, we’ll generate predictions at a Day interval.
|
128
137
|
# @return [NexosisApi::SessionResponse] providing information about the sesssion
|
129
|
-
def create_impact_session(dataset_name, start_date, end_date, event_name, target_column = nil)
|
130
|
-
create_session dataset_name, start_date, end_date, target_column, false, event_name, "impact"
|
138
|
+
def create_impact_session(dataset_name, start_date, end_date, event_name, target_column = nil, result_interval = NexosisApi::TimeInterval::DAY)
|
139
|
+
create_session dataset_name, start_date, end_date, target_column, false, event_name, "impact", nil, result_interval
|
131
140
|
end
|
132
141
|
|
133
142
|
# Analyze impact for an event with data in json format.
|
@@ -137,11 +146,12 @@ module NexosisApi
|
|
137
146
|
# @param end_date [DateTime] The ending date of the impactful event. Can be ISO 8601 string.
|
138
147
|
# @param event_name [String] The name of the event.
|
139
148
|
# @param target_column [String] The name of the column for which you want predictions. Nil if defined in dataset.
|
149
|
+
# @param result_interval [NexosisApi::TimeInterval] (optional) - The date/time interval (e.g. Day, Hour) at which predictions should be generated. So, if Hour is specified for this parameter you will get a Result record for each hour between startDate and endDate. If unspecified, we’ll generate predictions at a Day interval.
|
140
150
|
# @return [NexosisApi::SessionResponse] providing information about the sesssion
|
141
151
|
# @see https://developers.nexosis.com/docs/services/98847a3fbbe64f73aa959d3cededb3af/operations/5919ef80a730020dd851f233
|
142
|
-
def create_impact_session_data(json_data, start_date, end_date, event_name, target_column = nil)
|
152
|
+
def create_impact_session_data(json_data, start_date, end_date, event_name, target_column = nil, result_interval = NexosisApi::TimeInterval::DAY)
|
143
153
|
json_data = json_data.to_json unless json_data.is_a? String
|
144
|
-
create_session nil, start_date, end_date, target_column, false, event_name, "impact", json_data, "application/json"
|
154
|
+
create_session nil, start_date, end_date, target_column, false, event_name, "impact", json_data, "application/json", result_interval
|
145
155
|
end
|
146
156
|
|
147
157
|
# Estimate the cost of impact analysis for an event with data already saved to the API.
|
@@ -195,13 +205,14 @@ module NexosisApi
|
|
195
205
|
end
|
196
206
|
end
|
197
207
|
private
|
198
|
-
def create_session(dataset_name, start_date, end_date, target_column = nil, is_estimate=false, event_name = nil, type = "forecast", content = nil, content_type = "text/csv")
|
208
|
+
def create_session(dataset_name, start_date, end_date, target_column = nil, is_estimate=false, event_name = nil, type = "forecast", content = nil, content_type = "text/csv", result_interval = NexosisApi::TimeInterval::DAY)
|
199
209
|
session_url = "/sessions/#{type}"
|
200
210
|
query = {
|
201
211
|
"targetColumn" => target_column.to_s,
|
202
212
|
"startDate" => start_date.to_s,
|
203
213
|
"endDate" => end_date.to_s,
|
204
|
-
"isestimate" => is_estimate.to_s
|
214
|
+
"isestimate" => is_estimate.to_s,
|
215
|
+
"resultInterval" => result_interval.to_s
|
205
216
|
}
|
206
217
|
query["dataSetName"] = dataset_name.to_s unless dataset_name.to_s.empty?
|
207
218
|
if(event_name.nil? == false)
|
@@ -20,5 +20,16 @@ module NexosisApi
|
|
20
20
|
# @note Either none, timestamp, target, or feature
|
21
21
|
# @return [NexosisApi::ColumnRole]
|
22
22
|
attr_accessor :role
|
23
|
+
|
24
|
+
# utility method to format a column description in the way it is expected on input
|
25
|
+
def to_hash
|
26
|
+
{ self.name => { "dataType" => self.type.to_s, "role" => self.role.to_s }}
|
27
|
+
end
|
28
|
+
|
29
|
+
def self.to_json(column_array)
|
30
|
+
result = {}
|
31
|
+
column_array.each {|col| result[col.to_hash.keys[0]] = col.to_hash.values[0] }
|
32
|
+
result
|
33
|
+
end
|
23
34
|
end
|
24
35
|
end
|
@@ -5,16 +5,13 @@ module NexosisApi
|
|
5
5
|
def initialize(message = "", action = nil, http_obj)
|
6
6
|
@message = message
|
7
7
|
if(http_obj.is_a?(Hash))
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
@request = http_obj.request
|
16
|
-
end
|
17
|
-
else
|
8
|
+
@message.prepend(http_obj["message"].concat(": ")) unless http_obj["message"].nil?
|
9
|
+
@action = action
|
10
|
+
elsif(http_obj.instance_of?(HTTParty::Response))
|
11
|
+
@message = message.concat("|| Explanation: ").concat(http_obj.parsed_response["errorDetails"].to_s) unless http_obj.parsed_response["errorDetails"].nil?
|
12
|
+
@type = http_obj.parsed_response["errorType"]
|
13
|
+
@response = http_obj.response
|
14
|
+
@request = http_obj.request
|
18
15
|
@code = http_obj.code
|
19
16
|
end
|
20
17
|
end
|
@@ -0,0 +1,66 @@
|
|
1
|
+
module NexosisApi
|
2
|
+
# class to parse results from an imports call
|
3
|
+
class ImportsResponse
|
4
|
+
def initialize(response_hash)
|
5
|
+
response_hash.each do |k,v|
|
6
|
+
if(k == "importId")
|
7
|
+
@import_id = v
|
8
|
+
elsif(k == "requestedDate")
|
9
|
+
@requested_date = v
|
10
|
+
elsif(k == "columns")
|
11
|
+
columns = []
|
12
|
+
next if v.nil?
|
13
|
+
v.keys.each do |col_key|
|
14
|
+
columns << NexosisApi::DatasetColumn.new(col_key, v[col_key])
|
15
|
+
end
|
16
|
+
@column_metadata = columns
|
17
|
+
elsif(k == "links")
|
18
|
+
links = Array.new
|
19
|
+
v.each do |l| links << NexosisApi::Link.new(l) end
|
20
|
+
instance_variable_set("@#{k}", links) unless v.nil?
|
21
|
+
else
|
22
|
+
instance_variable_set("@#{k}", v) unless v.nil?
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
# The unique identifier for this import request
|
28
|
+
# @return [String]
|
29
|
+
attr_accessor :import_id
|
30
|
+
|
31
|
+
# Currently always s3
|
32
|
+
# @return [String]
|
33
|
+
attr_accessor :type, :s3
|
34
|
+
|
35
|
+
# The current status of the import request
|
36
|
+
# @return [String]
|
37
|
+
# @note The import will be performed in a FIFO queue. Check back on status before attempting to start a session using the dataset.
|
38
|
+
attr_accessor :status
|
39
|
+
|
40
|
+
# echo back the dataset name provided
|
41
|
+
# @return [String]
|
42
|
+
attr_accessor :dataSetName
|
43
|
+
|
44
|
+
# The S3 parameters used to import a dataset
|
45
|
+
# @return [Hash]
|
46
|
+
# For an S3 response the keys of this hash should be 'bucket', 'path', and 'region'
|
47
|
+
attr_accessor :parameters
|
48
|
+
|
49
|
+
# The date of the import request
|
50
|
+
# @return [DateTime]
|
51
|
+
attr_accessor :requested_date
|
52
|
+
|
53
|
+
# Additional details. Normally empty.
|
54
|
+
# @return [Array]
|
55
|
+
attr_accessor :messages
|
56
|
+
|
57
|
+
# The column descriptors for the data in this session
|
58
|
+
# will reflect either the metadata sent in, defaults form dataset, or inferred values
|
59
|
+
# @return[Array of NexosisApi::DatasetColumn]
|
60
|
+
attr_accessor :column_metadata
|
61
|
+
|
62
|
+
# associated hypermedia
|
63
|
+
# @return [Array of NexosisApi::Link]
|
64
|
+
attr_accessor :links
|
65
|
+
end
|
66
|
+
end
|
data/lib/nexosis_api/session.rb
CHANGED
@@ -9,6 +9,15 @@ module NexosisApi
|
|
9
9
|
instance_variable_set("@#{k}", links) unless v.nil?
|
10
10
|
elsif(k == "isEstimate")
|
11
11
|
instance_variable_set("@is_estimate", v) unless v.nil?
|
12
|
+
elsif(k == "columns")
|
13
|
+
columns = []
|
14
|
+
next if v.nil?
|
15
|
+
v.keys.each do |col_key|
|
16
|
+
columns << NexosisApi::DatasetColumn.new(col_key, v[col_key])
|
17
|
+
end
|
18
|
+
@column_metadata = columns
|
19
|
+
elsif(k == "resultInterval")
|
20
|
+
@result_interval = v
|
12
21
|
else
|
13
22
|
instance_variable_set("@#{k}", v) unless v.nil?
|
14
23
|
end
|
@@ -58,6 +67,15 @@ module NexosisApi
|
|
58
67
|
# Is this session an estimate only session
|
59
68
|
# @return [Boolean]
|
60
69
|
attr_accessor :is_estimate
|
70
|
+
|
71
|
+
# The column descriptors for the data in this session
|
72
|
+
# will reflect either the metadata sent in, defaults form dataset, or inferred values
|
73
|
+
# @return[Array of NexosisApi::DatasetColumn]
|
74
|
+
attr_accessor :column_metadata
|
75
|
+
|
76
|
+
# The requested result interval. Default is DAY if none was requested during session creation.
|
77
|
+
# @return [NexosisApi::TimeInterval]
|
78
|
+
attr_accessor :result_interval
|
61
79
|
end
|
62
80
|
end
|
63
81
|
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module NexosisApi
|
2
|
+
#constants for the date/time interval (e.g. Day, Hour) at which predictions should be generated.
|
3
|
+
module TimeInterval
|
4
|
+
# results summarized by hour
|
5
|
+
HOUR = :hour
|
6
|
+
# results summarized by day. Default option.
|
7
|
+
DAY = :day
|
8
|
+
# results summarized by week
|
9
|
+
WEEK = :week
|
10
|
+
# results summarized by month
|
11
|
+
MONTH = :month
|
12
|
+
# results summarized by year
|
13
|
+
YEAR = :year
|
14
|
+
end
|
15
|
+
end
|
data/nexosisapi.gemspec
CHANGED
@@ -16,6 +16,6 @@ Gem::Specification.new do |spec|
|
|
16
16
|
spec.require_paths = ['lib']
|
17
17
|
spec.required_ruby_version = '>= 2.0.0'
|
18
18
|
spec.summary = "Ruby client for working with the Nexosis API"
|
19
|
-
spec.version = '1.0.
|
19
|
+
spec.version = '1.0.5'
|
20
20
|
spec.metadata["yard.run"] = "yri"
|
21
21
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: nexosis_api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nexosis,Inc
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-07-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -51,6 +51,7 @@ files:
|
|
51
51
|
- lib/nexosis_api/algorithm_selection.rb
|
52
52
|
- lib/nexosis_api/client.rb
|
53
53
|
- lib/nexosis_api/client/datasets.rb
|
54
|
+
- lib/nexosis_api/client/imports.rb
|
54
55
|
- lib/nexosis_api/client/sessions.rb
|
55
56
|
- lib/nexosis_api/column_role.rb
|
56
57
|
- lib/nexosis_api/column_type.rb
|
@@ -60,11 +61,13 @@ files:
|
|
60
61
|
- lib/nexosis_api/dataset_summary.rb
|
61
62
|
- lib/nexosis_api/http_exception.rb
|
62
63
|
- lib/nexosis_api/impact_metric.rb
|
64
|
+
- lib/nexosis_api/imports_response.rb
|
63
65
|
- lib/nexosis_api/link.rb
|
64
66
|
- lib/nexosis_api/metric.rb
|
65
67
|
- lib/nexosis_api/session.rb
|
66
68
|
- lib/nexosis_api/session_response.rb
|
67
69
|
- lib/nexosis_api/session_result.rb
|
70
|
+
- lib/nexosis_api/time_interval.rb
|
68
71
|
- nexosisapi.gemspec
|
69
72
|
homepage: https://github.com/nexosis/nexosisclient-rb
|
70
73
|
licenses:
|