domoscio_rails 0.3.3 → 0.3.7
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/domoscio_rails.rb +118 -110
- data/lib/domoscio_rails/authorization_token.rb +4 -11
- data/lib/domoscio_rails/{adaptative/deterministic/path_rule.rb → data/content.rb} +3 -2
- data/lib/domoscio_rails/data/event.rb +0 -1
- data/lib/domoscio_rails/{admin → data}/instance.rb +2 -1
- data/lib/domoscio_rails/data/learning_session.rb +0 -1
- data/lib/domoscio_rails/{adaptative → data}/recommendation.rb +2 -2
- data/lib/domoscio_rails/{student → data}/student.rb +2 -1
- data/lib/domoscio_rails/errors.rb +1 -1
- data/lib/domoscio_rails/knowledge/knowledge_edge.rb +0 -1
- data/lib/domoscio_rails/knowledge/knowledge_graph.rb +0 -1
- data/lib/domoscio_rails/knowledge/knowledge_node.rb +0 -1
- data/lib/domoscio_rails/{content → knowledge}/knowledge_node_content.rb +2 -1
- data/lib/domoscio_rails/{data → knowledge}/knowledge_node_student.rb +0 -1
- data/lib/domoscio_rails/{adaptative/predictive → objective}/objective.rb +2 -1
- data/lib/domoscio_rails/{path/learning_path.rb → objective/objective_knowledge_node.rb} +3 -2
- data/lib/domoscio_rails/objective/objective_knowledge_node_student.rb +8 -0
- data/lib/domoscio_rails/{adaptative/predictive → objective}/objective_student.rb +2 -1
- data/lib/domoscio_rails/{metadata → tag}/tag.rb +2 -1
- data/lib/domoscio_rails/{metadata → tag}/tag_edge.rb +2 -1
- data/lib/domoscio_rails/{metadata → tag}/tag_set.rb +2 -1
- data/lib/domoscio_rails/{metadata → tag}/tagging.rb +2 -1
- data/lib/domoscio_rails/utils/gameplay_util.rb +2 -1
- data/lib/domoscio_rails/utils/recommendation_util.rb +6 -5
- data/lib/domoscio_rails/utils/review_util.rb +2 -1
- data/lib/domoscio_rails/version.rb +1 -1
- metadata +17 -26
- data/lib/domoscio_rails/adaptative/deterministic/rule_condition.rb +0 -9
- data/lib/domoscio_rails/adaptative/deterministic/rule_input.rb +0 -9
- data/lib/domoscio_rails/adaptative/deterministic/rule_output.rb +0 -9
- data/lib/domoscio_rails/adaptative/predictive/objective_knowledge_node.rb +0 -6
- data/lib/domoscio_rails/adaptative/predictive/objective_knowledge_node_student.rb +0 -6
- data/lib/domoscio_rails/content/content.rb +0 -9
- data/lib/domoscio_rails/data/result.rb +0 -10
- data/lib/domoscio_rails/metadata/delta_object.rb +0 -6
- data/lib/domoscio_rails/student/student_cluster.rb +0 -6
- data/lib/domoscio_rails/utils/alerts_util.rb +0 -6
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 5a6ede945677291ef1b7b413edacef90ff3a034ffb948d4b5a48e2dfe6a821cd
|
|
4
|
+
data.tar.gz: 4cda4d1cd0c511238ca8eb12611e0457f99bcca2ea9f7c2d7b4fab2f266b2ff0
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 4c4e6fabcc01564dcec6f42d71d63cc45be20eb51d88f23b912ddb1f6bf4043e60b4e331489d9ca482cea7aa7db2a1b9a8b66c733b209cf383197322a876d1f9
|
|
7
|
+
data.tar.gz: 7a4e192e653f1014d435c1cae554c8a2d5412c30c8bb36ca25b45d95e2819da5d3037771ad068cde95ca292acfb5c539119c1f45783c39f0e1484cf9cf46194a
|
data/lib/domoscio_rails.rb
CHANGED
|
@@ -10,71 +10,40 @@ require 'domoscio_rails/authorization_token'
|
|
|
10
10
|
# resources
|
|
11
11
|
require 'domoscio_rails/http_calls'
|
|
12
12
|
require 'domoscio_rails/resource'
|
|
13
|
-
require 'domoscio_rails/
|
|
14
|
-
require 'domoscio_rails/
|
|
15
|
-
require 'domoscio_rails/
|
|
16
|
-
require 'domoscio_rails/
|
|
17
|
-
require 'domoscio_rails/
|
|
18
|
-
require 'domoscio_rails/
|
|
19
|
-
require 'domoscio_rails/
|
|
20
|
-
require 'domoscio_rails/
|
|
21
|
-
require 'domoscio_rails/
|
|
22
|
-
require 'domoscio_rails/
|
|
23
|
-
require 'domoscio_rails/
|
|
24
|
-
require 'domoscio_rails/
|
|
25
|
-
require 'domoscio_rails/
|
|
26
|
-
require 'domoscio_rails/
|
|
27
|
-
require 'domoscio_rails/
|
|
28
|
-
require 'domoscio_rails/
|
|
29
|
-
require 'domoscio_rails/
|
|
30
|
-
require 'domoscio_rails/
|
|
31
|
-
require 'domoscio_rails/
|
|
32
|
-
require 'domoscio_rails/
|
|
33
|
-
require 'domoscio_rails/
|
|
34
|
-
require 'domoscio_rails/
|
|
35
|
-
|
|
36
|
-
require 'domoscio_rails/data/learning_session'
|
|
37
|
-
require 'domoscio_rails/utils/review_util'
|
|
38
|
-
require 'domoscio_rails/utils/gameplay_util'
|
|
39
|
-
require 'domoscio_rails/utils/alerts_util'
|
|
40
|
-
require 'domoscio_rails/utils/recommendation_util'
|
|
41
|
-
require 'domoscio_rails/metadata/delta_object'
|
|
13
|
+
require 'domoscio_rails/data/content.rb'
|
|
14
|
+
require 'domoscio_rails/data/event.rb'
|
|
15
|
+
require 'domoscio_rails/data/instance.rb'
|
|
16
|
+
require 'domoscio_rails/data/recommendation.rb'
|
|
17
|
+
require 'domoscio_rails/data/learning_session.rb'
|
|
18
|
+
require 'domoscio_rails/data/student.rb'
|
|
19
|
+
require 'domoscio_rails/knowledge/knowledge_edge.rb'
|
|
20
|
+
require 'domoscio_rails/knowledge/knowledge_graph.rb'
|
|
21
|
+
require 'domoscio_rails/knowledge/knowledge_node_content.rb'
|
|
22
|
+
require 'domoscio_rails/knowledge/knowledge_node_student.rb'
|
|
23
|
+
require 'domoscio_rails/knowledge/knowledge_node.rb'
|
|
24
|
+
require 'domoscio_rails/objective/objective_knowledge_node_student.rb'
|
|
25
|
+
require 'domoscio_rails/objective/objective_knowledge_node.rb'
|
|
26
|
+
require 'domoscio_rails/objective/objective_student.rb'
|
|
27
|
+
require 'domoscio_rails/objective/objective.rb'
|
|
28
|
+
require 'domoscio_rails/tag/tag_edge.rb'
|
|
29
|
+
require 'domoscio_rails/tag/tag_set.rb'
|
|
30
|
+
require 'domoscio_rails/tag/tag.rb'
|
|
31
|
+
require 'domoscio_rails/tag/tagging.rb'
|
|
32
|
+
require 'domoscio_rails/utils/gameplay_util.rb'
|
|
33
|
+
require 'domoscio_rails/utils/recommendation_util.rb'
|
|
34
|
+
require 'domoscio_rails/utils/review_util.rb'
|
|
35
|
+
|
|
42
36
|
module DomoscioRails
|
|
43
37
|
class Configuration
|
|
44
|
-
attr_accessor :
|
|
45
|
-
|
|
46
|
-
def disabled
|
|
47
|
-
@disabled || false
|
|
48
|
-
end
|
|
49
|
-
|
|
50
|
-
def preproduction
|
|
51
|
-
@preproduction || false
|
|
52
|
-
end
|
|
53
|
-
|
|
54
|
-
def test
|
|
55
|
-
@test || false
|
|
56
|
-
end
|
|
57
|
-
|
|
58
|
-
def dev
|
|
59
|
-
@dev || false
|
|
60
|
-
end
|
|
38
|
+
attr_accessor :root_url, :client_id, :client_passphrase, :temp_dir, :version
|
|
61
39
|
|
|
40
|
+
# Refers to AdaptiveEngine Version
|
|
62
41
|
def version
|
|
63
|
-
@version
|
|
42
|
+
@version ||= 2
|
|
64
43
|
end
|
|
65
44
|
|
|
66
45
|
def root_url
|
|
67
|
-
|
|
68
|
-
if @test == true
|
|
69
|
-
@root_url || "https://staging.adaptive-engine.domoscio.com"
|
|
70
|
-
elsif @dev == true
|
|
71
|
-
@root_url || "https://preprod.adaptive-engine.domoscio.com"
|
|
72
|
-
else
|
|
73
|
-
@root_url || "https://adaptive-engine.domoscio.com"
|
|
74
|
-
end
|
|
75
|
-
else
|
|
76
|
-
@root_url || "http://localhost:3001"
|
|
77
|
-
end
|
|
46
|
+
@root_url ||= ""
|
|
78
47
|
end
|
|
79
48
|
end
|
|
80
49
|
|
|
@@ -95,42 +64,44 @@ module DomoscioRails
|
|
|
95
64
|
# - +method+: HTTP method; lowercase symbol, e.g. :get, :post etc.
|
|
96
65
|
# - +url+: the part after Configuration#root_url
|
|
97
66
|
# - +params+: hash; entity data for creation, update etc.; will dump it by JSON and assign to Net::HTTPRequest#body
|
|
98
|
-
# - +filters+: hash; pagination params etc.; will encode it by URI and assign to URI#query
|
|
99
|
-
# - +headers+: hash; request_headers by default
|
|
100
|
-
# - +before_request_proc+: optional proc; will call it passing the Net::HTTPRequest instance just before Net::HTTPRequest#request
|
|
101
67
|
#
|
|
102
|
-
#
|
|
68
|
+
# Performs HTTP requests to Adaptive Engine
|
|
69
|
+
# On token issues, will try once to get a new token then will output a DomoscioRails::ReponseError with details
|
|
70
|
+
#
|
|
71
|
+
# Raises DomoscioRails::ResponseError on Adaptive Error Status
|
|
72
|
+
# Raises DomoscioRails::ProcessingError on Internal Error
|
|
103
73
|
#
|
|
104
|
-
def self.request(method, url, params={}
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
params.merge!({'per_page':
|
|
74
|
+
def self.request(method, url, params={})
|
|
75
|
+
|
|
76
|
+
store_tokens, headers = request_headers
|
|
77
|
+
params.merge!({'per_page': 2000}) unless params[:per_page]
|
|
108
78
|
uri = api_uri(url)
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
return
|
|
79
|
+
|
|
80
|
+
response = DomoscioRails.send_request(uri, method, params, headers)
|
|
81
|
+
return response if response.kind_of? DomoscioRails::ProcessingError
|
|
82
|
+
|
|
112
83
|
begin
|
|
113
|
-
raise_http_failure(uri,
|
|
114
|
-
data = DomoscioRails::JSON.load(
|
|
115
|
-
DomoscioRails::AuthorizationToken::Manager.storage.store({access_token:
|
|
84
|
+
raise_http_failure(uri, response, params)
|
|
85
|
+
data = DomoscioRails::JSON.load(response.body.nil? ? '' : response.body)
|
|
86
|
+
DomoscioRails::AuthorizationToken::Manager.storage.store({access_token: response['Accesstoken'], refresh_token: response['Refreshtoken']}) if store_tokens
|
|
116
87
|
rescue MultiJson::LoadError => exception
|
|
117
|
-
data = ProcessingError.new(uri, 500, exception,
|
|
88
|
+
data = ProcessingError.new(uri, 500, exception, response.body, params)
|
|
118
89
|
rescue ResponseError => exception
|
|
119
90
|
data = exception
|
|
120
91
|
end
|
|
121
92
|
|
|
122
|
-
if
|
|
123
|
-
pagetotal = (
|
|
93
|
+
if response['Total']
|
|
94
|
+
pagetotal = (response['Total'].to_i / response['Per-Page'].to_f).ceil
|
|
124
95
|
for j in 2..pagetotal
|
|
125
|
-
|
|
126
|
-
return
|
|
96
|
+
response = DomoscioRails.send_request(uri, method, params.merge({page: j}), headers)
|
|
97
|
+
return response if response.kind_of? DomoscioRails::ProcessingError
|
|
127
98
|
begin
|
|
128
|
-
raise_http_failure(uri,
|
|
129
|
-
body = DomoscioRails::JSON.load(
|
|
99
|
+
raise_http_failure(uri, response, params)
|
|
100
|
+
body = DomoscioRails::JSON.load(response.body.nil? ? '' : response.body)
|
|
130
101
|
data += body
|
|
131
102
|
data.flatten!
|
|
132
103
|
rescue MultiJson::LoadError => exception
|
|
133
|
-
return ProcessingError.new(uri, 500, exception,
|
|
104
|
+
return ProcessingError.new(uri, 500, exception, response.body, params)
|
|
134
105
|
rescue ResponseError => exception
|
|
135
106
|
return exception
|
|
136
107
|
end
|
|
@@ -139,32 +110,52 @@ module DomoscioRails
|
|
|
139
110
|
data
|
|
140
111
|
end
|
|
141
112
|
|
|
142
|
-
|
|
113
|
+
private
|
|
114
|
+
|
|
115
|
+
# This function catches usual Http errors during calls
|
|
116
|
+
#
|
|
117
|
+
def self.send_request(uri, method, params, headers)
|
|
143
118
|
begin
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
before_request_proc.call(req) if before_request_proc
|
|
148
|
-
http.request req
|
|
149
|
-
end
|
|
119
|
+
response = perform_call(uri, method, params, headers)
|
|
120
|
+
response = retry_call_and_store_tokens(uri, method, params, headers) if ['401','403'].include? response.code
|
|
121
|
+
response
|
|
150
122
|
rescue Timeout::Error, Errno::EINVAL, Errno::ECONNREFUSED, Errno::ECONNRESET, EOFError, Net::HTTPBadResponse, Net::HTTPHeaderSyntaxError, Net::ProtocolError => exception
|
|
151
|
-
ProcessingError.new(uri, 500, exception,
|
|
123
|
+
ProcessingError.new(uri, 500, exception, response)
|
|
152
124
|
end
|
|
153
125
|
end
|
|
154
126
|
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
def self.raise_http_failure(uri,
|
|
158
|
-
unless
|
|
159
|
-
if
|
|
127
|
+
# This helper will check the response status and build the correcponding DomoscioRails::ResponseError
|
|
128
|
+
#
|
|
129
|
+
def self.raise_http_failure(uri, response, params)
|
|
130
|
+
unless response.kind_of? Net::HTTPSuccess
|
|
131
|
+
if response.blank?
|
|
160
132
|
raise ResponseError.new(uri, 500, {error: {status: 500, message: 'AdaptiveEngine not available'}}, {}, params)
|
|
161
133
|
else
|
|
162
|
-
body = DomoscioRails::JSON.load((
|
|
163
|
-
raise ResponseError.new(uri,
|
|
134
|
+
body = {error: {status: response.code, message: DomoscioRails::JSON.load((response.body.nil? ? '' : response.body), :symbolize_keys => true)}}
|
|
135
|
+
raise ResponseError.new(uri, response.code.to_i, body, response.body, params)
|
|
164
136
|
end
|
|
165
137
|
end
|
|
166
138
|
end
|
|
167
139
|
|
|
140
|
+
# Actual HTTP call is performed here
|
|
141
|
+
#
|
|
142
|
+
def self.perform_call(uri, method, params, headers)
|
|
143
|
+
Net::HTTP.start(uri.host, uri.port, use_ssl: uri.scheme == 'https') do |http|
|
|
144
|
+
req = Net::HTTP::const_get(method.capitalize).new(uri.request_uri, headers)
|
|
145
|
+
req.body = DomoscioRails::JSON.dump(params)
|
|
146
|
+
http.request req
|
|
147
|
+
end
|
|
148
|
+
end
|
|
149
|
+
|
|
150
|
+
# This method is called when AdaptiveEngine returns tokens errors
|
|
151
|
+
# Action on those errors is to retry and request new tokens, those new token are then stored
|
|
152
|
+
def self.retry_call_and_store_tokens(uri, method, params, headers)
|
|
153
|
+
headers = request_new_tokens
|
|
154
|
+
response = perform_call(uri, method, params, headers)
|
|
155
|
+
DomoscioRails::AuthorizationToken::Manager.storage.store({access_token: response['Accesstoken'], refresh_token: response['Refreshtoken']})
|
|
156
|
+
response
|
|
157
|
+
end
|
|
158
|
+
|
|
168
159
|
def self.user_agent
|
|
169
160
|
@uname ||= get_uname
|
|
170
161
|
{
|
|
@@ -182,22 +173,39 @@ module DomoscioRails
|
|
|
182
173
|
'uname lookup failed'
|
|
183
174
|
end
|
|
184
175
|
|
|
176
|
+
# Process the token loading and analyze
|
|
177
|
+
# will return the processed headers and a token store flag
|
|
178
|
+
#
|
|
185
179
|
def self.request_headers
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
headers = {
|
|
196
|
-
'user_agent' => "#{DomoscioRails.user_agent}",
|
|
197
|
-
'Authorization' => "Token token=#{DomoscioRails.configuration.client_passphrase}",
|
|
198
|
-
'Content-Type' => 'application/json'
|
|
199
|
-
}
|
|
180
|
+
begin
|
|
181
|
+
auth_token = DomoscioRails::AuthorizationToken::Manager.get_token
|
|
182
|
+
if auth_token && auth_token[:access_token] && auth_token[:refresh_token]
|
|
183
|
+
[false, send_current_tokens(auth_token)]
|
|
184
|
+
else
|
|
185
|
+
[true, request_new_tokens]
|
|
186
|
+
end
|
|
187
|
+
rescue SyntaxError, StandardError
|
|
188
|
+
[true, request_new_tokens]
|
|
200
189
|
end
|
|
201
|
-
|
|
190
|
+
end
|
|
191
|
+
|
|
192
|
+
# If stored token successfully loaded we build the header with them
|
|
193
|
+
#
|
|
194
|
+
def self.send_current_tokens(auth_token)
|
|
195
|
+
{
|
|
196
|
+
'user_agent' => "#{DomoscioRails.user_agent}",
|
|
197
|
+
'AccessToken' => "#{auth_token[:access_token]}",
|
|
198
|
+
'RefreshToken' => "#{auth_token[:refresh_token]}",
|
|
199
|
+
'Content-Type' => 'application/json'
|
|
200
|
+
}
|
|
201
|
+
end
|
|
202
|
+
|
|
203
|
+
# If we cant find tokens of they are corrupted / expired, then we set headers to request new ones
|
|
204
|
+
def self.request_new_tokens
|
|
205
|
+
{
|
|
206
|
+
'user_agent' => "#{DomoscioRails.user_agent}",
|
|
207
|
+
'Authorization' => "Token token=#{DomoscioRails.configuration.client_passphrase}",
|
|
208
|
+
'Content-Type' => 'application/json'
|
|
209
|
+
}
|
|
202
210
|
end
|
|
203
211
|
end
|
|
@@ -11,9 +11,7 @@ module DomoscioRails
|
|
|
11
11
|
end
|
|
12
12
|
|
|
13
13
|
def get_token
|
|
14
|
-
|
|
15
|
-
token = DomoscioRails.configuration.client_passphrase if token.nil?
|
|
16
|
-
token
|
|
14
|
+
storage.get
|
|
17
15
|
end
|
|
18
16
|
end
|
|
19
17
|
end
|
|
@@ -29,13 +27,9 @@ module DomoscioRails
|
|
|
29
27
|
|
|
30
28
|
class FileStorage
|
|
31
29
|
require 'yaml'
|
|
32
|
-
@temp_dir
|
|
33
30
|
|
|
34
|
-
def initialize
|
|
35
|
-
|
|
36
|
-
if !@temp_dir
|
|
37
|
-
raise "Path to temporary folder is not defined"
|
|
38
|
-
end
|
|
31
|
+
def initialize
|
|
32
|
+
raise "Path to temporary folder is not defined" unless DomoscioRails.configuration.temp_dir
|
|
39
33
|
end
|
|
40
34
|
|
|
41
35
|
def get
|
|
@@ -60,8 +54,7 @@ module DomoscioRails
|
|
|
60
54
|
end
|
|
61
55
|
|
|
62
56
|
def file_path
|
|
63
|
-
|
|
64
|
-
File.join(@temp_dir, "DomoscioRails.AuthorizationToken.FileStore.tmp")
|
|
57
|
+
File.join(DomoscioRails.configuration.temp_dir, "DomoscioRails.AuthorizationToken.FileStore.tmp")
|
|
65
58
|
end
|
|
66
59
|
end
|
|
67
60
|
end
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
module DomoscioRails
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
class Content < Resource
|
|
3
|
+
|
|
4
4
|
include DomoscioRails::HTTPCalls::Create
|
|
5
5
|
include DomoscioRails::HTTPCalls::Fetch
|
|
6
6
|
include DomoscioRails::HTTPCalls::Update
|
|
7
7
|
include DomoscioRails::HTTPCalls::Destroy
|
|
8
8
|
include DomoscioRails::HTTPCalls::Util
|
|
9
|
+
|
|
9
10
|
end
|
|
10
11
|
end
|
|
@@ -10,7 +10,7 @@ module DomoscioRails
|
|
|
10
10
|
@request_url, @code, @details, @body, @request_params = request_url, code, details, body, request_params
|
|
11
11
|
super(message) if message
|
|
12
12
|
end
|
|
13
|
-
def message; @details.is_a?(Hash) ? @details.dig(:error, :message) : @details; end
|
|
13
|
+
def message; (@details.is_a?(Hash) && @details[:error].is_a?(Hash)) ? @details.dig(:error, :message) : @details; end
|
|
14
14
|
end
|
|
15
15
|
|
|
16
16
|
# ProcessingError from DomoscioRails
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
module DomoscioRails
|
|
2
|
-
# A KnowledgeNodeContent.
|
|
3
2
|
class KnowledgeNodeContent < Resource
|
|
3
|
+
|
|
4
4
|
include DomoscioRails::HTTPCalls::Create
|
|
5
5
|
include DomoscioRails::HTTPCalls::Fetch
|
|
6
6
|
include DomoscioRails::HTTPCalls::Update
|
|
7
7
|
include DomoscioRails::HTTPCalls::Destroy
|
|
8
|
+
|
|
8
9
|
end
|
|
9
10
|
end
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
module DomoscioRails
|
|
2
|
-
# An objective student.
|
|
3
2
|
class ObjectiveStudent < Resource
|
|
3
|
+
|
|
4
4
|
include DomoscioRails::HTTPCalls::Create
|
|
5
5
|
include DomoscioRails::HTTPCalls::Fetch
|
|
6
6
|
include DomoscioRails::HTTPCalls::Update
|
|
7
7
|
include DomoscioRails::HTTPCalls::Destroy
|
|
8
8
|
include DomoscioRails::HTTPCalls::Util
|
|
9
|
+
|
|
9
10
|
end
|
|
10
11
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: domoscio_rails
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.3.
|
|
4
|
+
version: 0.3.7
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Benoit Praly
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2021-
|
|
11
|
+
date: 2021-04-07 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: rails
|
|
@@ -36,39 +36,30 @@ files:
|
|
|
36
36
|
- Rakefile
|
|
37
37
|
- lib/domoscio_rails.rb
|
|
38
38
|
- lib/domoscio_rails.tbz
|
|
39
|
-
- lib/domoscio_rails/adaptative/deterministic/path_rule.rb
|
|
40
|
-
- lib/domoscio_rails/adaptative/deterministic/rule_condition.rb
|
|
41
|
-
- lib/domoscio_rails/adaptative/deterministic/rule_input.rb
|
|
42
|
-
- lib/domoscio_rails/adaptative/deterministic/rule_output.rb
|
|
43
|
-
- lib/domoscio_rails/adaptative/predictive/objective.rb
|
|
44
|
-
- lib/domoscio_rails/adaptative/predictive/objective_knowledge_node.rb
|
|
45
|
-
- lib/domoscio_rails/adaptative/predictive/objective_knowledge_node_student.rb
|
|
46
|
-
- lib/domoscio_rails/adaptative/predictive/objective_student.rb
|
|
47
|
-
- lib/domoscio_rails/adaptative/recommendation.rb
|
|
48
|
-
- lib/domoscio_rails/admin/instance.rb
|
|
49
39
|
- lib/domoscio_rails/authorization_token.rb
|
|
50
|
-
- lib/domoscio_rails/
|
|
51
|
-
- lib/domoscio_rails/content/knowledge_node_content.rb
|
|
40
|
+
- lib/domoscio_rails/data/content.rb
|
|
52
41
|
- lib/domoscio_rails/data/event.rb
|
|
53
|
-
- lib/domoscio_rails/data/
|
|
42
|
+
- lib/domoscio_rails/data/instance.rb
|
|
54
43
|
- lib/domoscio_rails/data/learning_session.rb
|
|
55
|
-
- lib/domoscio_rails/data/
|
|
44
|
+
- lib/domoscio_rails/data/recommendation.rb
|
|
45
|
+
- lib/domoscio_rails/data/student.rb
|
|
56
46
|
- lib/domoscio_rails/errors.rb
|
|
57
47
|
- lib/domoscio_rails/http_calls.rb
|
|
58
48
|
- lib/domoscio_rails/json.rb
|
|
59
49
|
- lib/domoscio_rails/knowledge/knowledge_edge.rb
|
|
60
50
|
- lib/domoscio_rails/knowledge/knowledge_graph.rb
|
|
61
51
|
- lib/domoscio_rails/knowledge/knowledge_node.rb
|
|
62
|
-
- lib/domoscio_rails/
|
|
63
|
-
- lib/domoscio_rails/
|
|
64
|
-
- lib/domoscio_rails/
|
|
65
|
-
- lib/domoscio_rails/
|
|
66
|
-
- lib/domoscio_rails/
|
|
67
|
-
- lib/domoscio_rails/
|
|
52
|
+
- lib/domoscio_rails/knowledge/knowledge_node_content.rb
|
|
53
|
+
- lib/domoscio_rails/knowledge/knowledge_node_student.rb
|
|
54
|
+
- lib/domoscio_rails/objective/objective.rb
|
|
55
|
+
- lib/domoscio_rails/objective/objective_knowledge_node.rb
|
|
56
|
+
- lib/domoscio_rails/objective/objective_knowledge_node_student.rb
|
|
57
|
+
- lib/domoscio_rails/objective/objective_student.rb
|
|
68
58
|
- lib/domoscio_rails/resource.rb
|
|
69
|
-
- lib/domoscio_rails/
|
|
70
|
-
- lib/domoscio_rails/
|
|
71
|
-
- lib/domoscio_rails/
|
|
59
|
+
- lib/domoscio_rails/tag/tag.rb
|
|
60
|
+
- lib/domoscio_rails/tag/tag_edge.rb
|
|
61
|
+
- lib/domoscio_rails/tag/tag_set.rb
|
|
62
|
+
- lib/domoscio_rails/tag/tagging.rb
|
|
72
63
|
- lib/domoscio_rails/utils/gameplay_util.rb
|
|
73
64
|
- lib/domoscio_rails/utils/recommendation_util.rb
|
|
74
65
|
- lib/domoscio_rails/utils/review_util.rb
|
|
@@ -92,7 +83,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
92
83
|
- !ruby/object:Gem::Version
|
|
93
84
|
version: '0'
|
|
94
85
|
requirements: []
|
|
95
|
-
rubygems_version: 3.
|
|
86
|
+
rubygems_version: 3.0.8
|
|
96
87
|
signing_key:
|
|
97
88
|
specification_version: 4
|
|
98
89
|
summary: Summary of DomoscioRails.
|