quiz_api_client 0.1.9 → 0.1.10
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/quiz_api_client.rb +5 -0
- data/lib/quiz_api_client/services/jwt_service.rb +1 -1
- data/lib/quiz_api_client/services/quiz_service.rb +1 -5
- data/lib/quiz_api_client/services/quiz_session_result_service.rb +29 -0
- data/lib/quiz_api_client/services/quiz_session_service.rb +17 -1
- data/lib/quiz_api_client/version.rb +1 -1
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ca9a16246b654bd00e0c7c3fb55d6a9594004037
|
4
|
+
data.tar.gz: ac33399eb56be356559f4045bdb30be585bd1560
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ca0918f5f2daf3f3855a81e46fd3b5165e4d7c58fea2cef97f32bb4043088d18a75b226f00c06006bddf7e3998f0f54492094edb2b1d45d0bcd7d7f5e4e5d2fa
|
7
|
+
data.tar.gz: cc75ae00dd9f1c4fd921390fc414818fbbfb69fcd4f7bce5945ce531314833460ec102ee70f59b8daeb1bf89661fe5de3be73a8fbfb615e845911e6f484aa9d6
|
data/lib/quiz_api_client.rb
CHANGED
@@ -48,6 +48,10 @@ module QuizApiClient
|
|
48
48
|
@_quiz_session_events_service ||= Services::QuizSessionEventsService.new(service_params)
|
49
49
|
end
|
50
50
|
|
51
|
+
def quiz_session_result_service
|
52
|
+
@_quiz_session_result_service ||= Services::QuizSessionResultService.new(service_params)
|
53
|
+
end
|
54
|
+
|
51
55
|
private
|
52
56
|
|
53
57
|
def service_params
|
@@ -74,3 +78,4 @@ require 'quiz_api_client/services/quiz_session_events_service'
|
|
74
78
|
require 'quiz_api_client/services/quiz_session_service'
|
75
79
|
require 'quiz_api_client/services/quiz_sessions_service'
|
76
80
|
require 'quiz_api_client/services/quizzes_service'
|
81
|
+
require 'quiz_api_client/services/quiz_session_result_service'
|
@@ -13,7 +13,7 @@ module QuizApiClient::Services
|
|
13
13
|
|
14
14
|
def grant_permission(scope:, exp: nil, resource_id: nil)
|
15
15
|
payload = {
|
16
|
-
host: host,
|
16
|
+
host: URI.parse("#{protocol}://#{host}").host,
|
17
17
|
consumer_key: consumer_key,
|
18
18
|
scope: scope,
|
19
19
|
exp: exp || Time.now.utc.to_i + 60,
|
@@ -5,14 +5,10 @@ module QuizApiClient::Services
|
|
5
5
|
generate_token(scope: scope, exp: exp, resource_id: resource_id)
|
6
6
|
end
|
7
7
|
|
8
|
-
def scope_build
|
9
|
-
'quiz.build'
|
10
|
-
end
|
11
|
-
|
12
8
|
private
|
13
9
|
|
14
10
|
def allowed_scopes
|
15
|
-
[
|
11
|
+
['quiz.build', 'quiz.analysis']
|
16
12
|
end
|
17
13
|
end
|
18
14
|
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
module QuizApiClient::Services
|
2
|
+
class QuizSessionResultService < BaseApiService
|
3
|
+
def token(scope:, exp: nil, resource_id: nil)
|
4
|
+
return unless allowed_scopes.include?(scope)
|
5
|
+
generate_token(scope: scope, exp: exp, resource_id: resource_id)
|
6
|
+
end
|
7
|
+
|
8
|
+
def show(params:, default_token: nil)
|
9
|
+
raise 'Quiz Session Result Id Required' unless params && params[:id]
|
10
|
+
get_from_quiz_api(params: params, token: token_for_api(default_token, scope_show, params[:id]))
|
11
|
+
end
|
12
|
+
|
13
|
+
def scope_show
|
14
|
+
'quiz_session_result.show'
|
15
|
+
end
|
16
|
+
|
17
|
+
private
|
18
|
+
|
19
|
+
def get_from_quiz_api(params:, token:)
|
20
|
+
client(token: token).get(
|
21
|
+
"/api/results/#{params[:id]}"
|
22
|
+
)
|
23
|
+
end
|
24
|
+
|
25
|
+
def allowed_scopes
|
26
|
+
[scope_show]
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -9,6 +9,11 @@ module QuizApiClient::Services
|
|
9
9
|
patch_to_quiz_api(params: params, token: token_for_api(default_token, scope_update, params[:id]))
|
10
10
|
end
|
11
11
|
|
12
|
+
def show(params:, default_token: nil)
|
13
|
+
raise 'Quiz Session Id Required' unless params && params[:id]
|
14
|
+
get_from_quiz_api(params: params, token: token_for_api(default_token, scope_show, params[:id]))
|
15
|
+
end
|
16
|
+
|
12
17
|
def scope_update
|
13
18
|
'quiz_session.update'
|
14
19
|
end
|
@@ -21,6 +26,10 @@ module QuizApiClient::Services
|
|
21
26
|
'quiz_session.grade'
|
22
27
|
end
|
23
28
|
|
29
|
+
def scope_show
|
30
|
+
'quiz_session.show'
|
31
|
+
end
|
32
|
+
|
24
33
|
private
|
25
34
|
|
26
35
|
def patch_to_quiz_api(params:, token:)
|
@@ -30,11 +39,18 @@ module QuizApiClient::Services
|
|
30
39
|
)
|
31
40
|
end
|
32
41
|
|
42
|
+
def get_from_quiz_api(params:, token:)
|
43
|
+
client(token: token).get(
|
44
|
+
"/api/quiz_sessions/#{params[:id]}"
|
45
|
+
)
|
46
|
+
end
|
47
|
+
|
33
48
|
def allowed_scopes
|
34
49
|
[
|
35
50
|
scope_grade,
|
36
51
|
scope_take,
|
37
|
-
scope_update
|
52
|
+
scope_update,
|
53
|
+
scope_show
|
38
54
|
]
|
39
55
|
end
|
40
56
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: quiz_api_client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.10
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chris Wang
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-04-
|
11
|
+
date: 2017-04-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: httparty
|
@@ -138,6 +138,7 @@ files:
|
|
138
138
|
- lib/quiz_api_client/services/quiz_analyses_service.rb
|
139
139
|
- lib/quiz_api_client/services/quiz_service.rb
|
140
140
|
- lib/quiz_api_client/services/quiz_session_events_service.rb
|
141
|
+
- lib/quiz_api_client/services/quiz_session_result_service.rb
|
141
142
|
- lib/quiz_api_client/services/quiz_session_service.rb
|
142
143
|
- lib/quiz_api_client/services/quiz_sessions_service.rb
|
143
144
|
- lib/quiz_api_client/services/quizzes_service.rb
|
@@ -162,7 +163,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
162
163
|
version: '0'
|
163
164
|
requirements: []
|
164
165
|
rubyforge_project:
|
165
|
-
rubygems_version: 2.5.
|
166
|
+
rubygems_version: 2.5.2
|
166
167
|
signing_key:
|
167
168
|
specification_version: 4
|
168
169
|
summary: Ruby client for quiz_api
|