bearcat 0.9.20 → 0.9.22

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 63e74acb418fbfa4828a312c0c79e274182c0d65
4
- data.tar.gz: 1ae08825aa244ce203f35cba6294c1bac1390824
3
+ metadata.gz: d1f65e93775b144f2e01c51973a63f9ce1d91b39
4
+ data.tar.gz: 36d57632ebb7d4f9c8cf82587b580f96778c7967
5
5
  SHA512:
6
- metadata.gz: 370663de69889b8fb7cc550f26296bc04a3c41d1822b2cb4d408286f4be2b25421a45c1c310234dce0f9f277b2ca96571f3156682cfe11980cc7f17f81ffd917
7
- data.tar.gz: bc8a5650bfae70c66c3adcb76bc45bc4dc6f00b246d4ea009ae6d04dacdb38104c916cafcb41640632800f3d273efa381383ebf72343e0e962d11bdf03f67ab6
6
+ metadata.gz: 8b2ac0654b168c2cb3118cfeac68be7acaf7c80a931837c947e94d84440ca5253df3fd1c8662f04f2001a747e67e53b9d5526059ff701101df20b7fe6c5ce087
7
+ data.tar.gz: dde7a8fea817f725f05c765546135d5eb722816a9245fe33ed51190c10a86841c5f7f45ce1fa0d171a50f029f787f036195279ad6f245006f44d0c2e234b1aad
@@ -22,6 +22,7 @@ Gem::Specification.new do |gem|
22
22
  gem.add_development_dependency "bundler", ">= 1.0.0"
23
23
  gem.add_development_dependency "rspec", "~> 2.6"
24
24
  gem.add_development_dependency "webmock"
25
+ gem.add_development_dependency 'pry'
25
26
 
26
27
  gem.add_dependency "footrest", ">= 0.2.2"
27
28
  end
@@ -21,6 +21,7 @@ module Bearcat
21
21
  require 'bearcat/client/canvas_files'
22
22
  require 'bearcat/client/calendar_events'
23
23
  require 'bearcat/client/discussions'
24
+ require 'bearcat/client/quizzes'
24
25
 
25
26
  include Assignments
26
27
  include Accounts
@@ -41,6 +42,7 @@ module Bearcat
41
42
  include CalendarEvents
42
43
  include Discussions
43
44
  include FileHelper
45
+ include Quizzes
44
46
 
45
47
 
46
48
  # Override Footrest request for ApiArray support
@@ -0,0 +1,18 @@
1
+ module Bearcat
2
+ class Client < Footrest::Client
3
+ module Quizzes
4
+
5
+ def list_course_quizzes(course, params={})
6
+ get("/api/v1/courses/#{course}/quizzes", params)
7
+ end
8
+
9
+ def quiz(course, quiz, params={})
10
+ get("/api/v1/courses/#{course}/quizzes/#{quiz}", params)
11
+ end
12
+
13
+ def quiz_extensions(course, params={})
14
+ post("/api/v1/courses/#{course}/quiz_extensions", params)
15
+ end
16
+ end
17
+ end
18
+ end
@@ -1,3 +1,3 @@
1
1
  module Bearcat
2
- VERSION = '0.9.20' unless defined?(Bearcat::VERSION)
2
+ VERSION = '0.9.22' unless defined?(Bearcat::VERSION)
3
3
  end
@@ -0,0 +1,31 @@
1
+ require 'helper'
2
+
3
+ describe Bearcat::Client::Quizzes do
4
+ before do
5
+ @client = Bearcat::Client.new(prefix: "http://canvas.instructure.com", token: "test_token")
6
+ end
7
+
8
+ it "returns a courses quizzes" do
9
+ stub_get(@client, "/api/v1/courses/1/quizzes").to_return(json_response("quizzes/course_quizzes.json"))
10
+ course_quizzes = @client.list_course_quizzes('1')
11
+ course_quizzes.class.should eq(Bearcat::ApiArray)
12
+ course_quizzes.count.should == 2
13
+ course_quizzes.first['id'].should == 37
14
+ course_quizzes.last['id'].should == 38
15
+ end
16
+
17
+ it "returns a single quiz" do
18
+ stub_get(@client, "/api/v1/courses/1/quizzes/38").to_return(json_response("quizzes/course_quiz.json"))
19
+ course_quiz = @client.quiz('1', '38')
20
+ course_quiz.class.should eq(Hash)
21
+ course_quiz['id'].should == 38
22
+ end
23
+
24
+ it 'sets extensions on a quiz' do
25
+ stub_post(@client, "/api/v1/courses/1/quiz_extensions").to_return(json_response("quizzes/quiz_extension.json"))
26
+ quiz_extension = @client.quiz_extensions('1', {quiz_extensions: [{user_id: 1}, {extra_time: 30}]})
27
+ quiz_extension.class.should eq(Hash)
28
+ quiz_extension['quiz_extensions'].first['extra_time'].should eq(30)
29
+ end
30
+
31
+ end
@@ -0,0 +1,62 @@
1
+ {
2
+ "id":38,
3
+ "title":"Second Quiz",
4
+ "html_url":"https://jake.instructure.com/courses/42/quizzes/38",
5
+ "mobile_url":"https://jake.instructure.com/courses/42/quizzes/38?force_user=1\u0026persist_headless=1",
6
+ "description":"",
7
+ "quiz_type":"assignment",
8
+ "time_limit":5,
9
+ "shuffle_answers":true,
10
+ "show_correct_answers":true,
11
+ "scoring_policy":"keep_highest",
12
+ "allowed_attempts":12,
13
+ "one_question_at_a_time":false,
14
+ "question_count":0,
15
+ "points_possible":null,
16
+ "cant_go_back":false,
17
+ "access_code":null,
18
+ "ip_filter":null,
19
+ "due_at":null,
20
+ "lock_at":null,
21
+ "unlock_at":null,
22
+ "published":false,
23
+ "unpublishable":true,
24
+ "locked_for_user":false,
25
+ "hide_results":null,
26
+ "show_correct_answers_at":null,
27
+ "hide_correct_answers_at":null,
28
+ "all_dates":[
29
+ {
30
+ "due_at":null,
31
+ "unlock_at":null,
32
+ "lock_at":null,
33
+ "base":true
34
+ }
35
+ ],
36
+ "can_unpublish":true,
37
+ "can_update":true,
38
+ "require_lockdown_browser":null,
39
+ "require_lockdown_browser_for_results":null,
40
+ "require_lockdown_browser_monitor":null,
41
+ "lockdown_browser_monitor_data":null,
42
+ "speed_grader_url":null,
43
+ "permissions":{
44
+ "read_statistics":true,
45
+ "manage":true,
46
+ "read":true,
47
+ "update":true,
48
+ "delete":true,
49
+ "create":true,
50
+ "submit":true,
51
+ "grade":true,
52
+ "review_grades":true
53
+ },
54
+ "quiz_reports_url":"https://jake.instructure.com/api/v1/courses/42/quizzes/38/reports",
55
+ "quiz_statistics_url":"https://jake.instructure.com/api/v1/courses/42/quizzes/38/statistics",
56
+ "message_students_url":"https://jake.instructure.com/api/v1/courses/42/quizzes/38/submission_users/message",
57
+ "section_count":1,
58
+ "quiz_submission_versions_html_url":"https://jake.instructure.com/courses/42/quizzes/38/submission_versions",
59
+ "assignment_id":56,
60
+ "one_time_results":false,
61
+ "assignment_group_id":41
62
+ }
@@ -0,0 +1,126 @@
1
+ [
2
+ {
3
+ "id":37,
4
+ "title":"First Quiz",
5
+ "html_url":"https://jake.instructure.com/courses/42/quizzes/37",
6
+ "mobile_url":"https://jake.instructure.com/courses/42/quizzes/37?force_user=1\u0026persist_headless=1",
7
+ "description":"",
8
+ "quiz_type":"assignment",
9
+ "time_limit":10,
10
+ "shuffle_answers":false,
11
+ "show_correct_answers":false,
12
+ "scoring_policy":"keep_highest",
13
+ "allowed_attempts":5,
14
+ "one_question_at_a_time":false,
15
+ "question_count":1,
16
+ "points_possible":1,
17
+ "cant_go_back":false,
18
+ "access_code":null,
19
+ "ip_filter":null,
20
+ "due_at":null,
21
+ "lock_at":null,
22
+ "unlock_at":null,
23
+ "published":false,
24
+ "unpublishable":true,
25
+ "locked_for_user":false,
26
+ "hide_results":"always",
27
+ "show_correct_answers_at":null,
28
+ "hide_correct_answers_at":null,
29
+ "all_dates":[
30
+ {
31
+ "due_at":null,
32
+ "unlock_at":null,
33
+ "lock_at":null,
34
+ "base":true
35
+ }
36
+ ],
37
+ "can_unpublish":true,
38
+ "can_update":true,
39
+ "require_lockdown_browser":null,
40
+ "require_lockdown_browser_for_results":null,
41
+ "require_lockdown_browser_monitor":null,
42
+ "lockdown_browser_monitor_data":null,
43
+ "speed_grader_url":null,
44
+ "permissions":{
45
+ "read_statistics":true,
46
+ "manage":true,
47
+ "read":true,
48
+ "update":true,
49
+ "delete":true,
50
+ "create":true,
51
+ "submit":true,
52
+ "grade":true,
53
+ "review_grades":true
54
+ },
55
+ "quiz_reports_url":"https://jake.instructure.com/api/v1/courses/42/quizzes/37/reports",
56
+ "quiz_statistics_url":"https://jake.instructure.com/api/v1/courses/42/quizzes/37/statistics",
57
+ "message_students_url":"https://jake.instructure.com/api/v1/courses/42/quizzes/37/submission_users/message",
58
+ "section_count":1,
59
+ "quiz_submission_versions_html_url":"https://jake.instructure.com/courses/42/quizzes/37/submission_versions",
60
+ "assignment_id":55,
61
+ "one_time_results":false,
62
+ "assignment_group_id":41
63
+ },
64
+ {
65
+ "id":38,
66
+ "title":"Second Quiz",
67
+ "html_url":"https://jake.instructure.com/courses/42/quizzes/38",
68
+ "mobile_url":"https://jake.instructure.com/courses/42/quizzes/38?force_user=1\u0026persist_headless=1",
69
+ "description":"",
70
+ "quiz_type":"assignment",
71
+ "time_limit":5,
72
+ "shuffle_answers":true,
73
+ "show_correct_answers":true,
74
+ "scoring_policy":"keep_highest",
75
+ "allowed_attempts":12,
76
+ "one_question_at_a_time":false,
77
+ "question_count":0,
78
+ "points_possible":null,
79
+ "cant_go_back":false,
80
+ "access_code":null,
81
+ "ip_filter":null,
82
+ "due_at":null,
83
+ "lock_at":null,
84
+ "unlock_at":null,
85
+ "published":false,
86
+ "unpublishable":true,
87
+ "locked_for_user":false,
88
+ "hide_results":null,
89
+ "show_correct_answers_at":null,
90
+ "hide_correct_answers_at":null,
91
+ "all_dates":[
92
+ {
93
+ "due_at":null,
94
+ "unlock_at":null,
95
+ "lock_at":null,
96
+ "base":true
97
+ }
98
+ ],
99
+ "can_unpublish":true,
100
+ "can_update":true,
101
+ "require_lockdown_browser":null,
102
+ "require_lockdown_browser_for_results":null,
103
+ "require_lockdown_browser_monitor":null,
104
+ "lockdown_browser_monitor_data":null,
105
+ "speed_grader_url":null,
106
+ "permissions":{
107
+ "read_statistics":true,
108
+ "manage":true,
109
+ "read":true,
110
+ "update":true,
111
+ "delete":true,
112
+ "create":true,
113
+ "submit":true,
114
+ "grade":true,
115
+ "review_grades":true
116
+ },
117
+ "quiz_reports_url":"https://jake.instructure.com/api/v1/courses/42/quizzes/38/reports",
118
+ "quiz_statistics_url":"https://jake.instructure.com/api/v1/courses/42/quizzes/38/statistics",
119
+ "message_students_url":"https://jake.instructure.com/api/v1/courses/42/quizzes/38/submission_users/message",
120
+ "section_count":1,
121
+ "quiz_submission_versions_html_url":"https://jake.instructure.com/courses/42/quizzes/38/submission_versions",
122
+ "assignment_id":56,
123
+ "one_time_results":false,
124
+ "assignment_group_id":41
125
+ }
126
+ ]
@@ -0,0 +1,12 @@
1
+ {
2
+ "quiz_extensions":[
3
+ {
4
+ "user_id":"12",
5
+ "quiz_id":"37",
6
+ "extra_attempts":null,
7
+ "extra_time":30,
8
+ "manually_unlocked":null,
9
+ "end_at":"2014-09-30T05:45:24Z"
10
+ }
11
+ ]
12
+ }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bearcat
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.20
4
+ version: 0.9.22
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nathan Mills, Jake Sorce
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-09-17 00:00:00.000000000 Z
11
+ date: 2014-09-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -66,6 +66,20 @@ dependencies:
66
66
  - - '>='
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: pry
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - '>='
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - '>='
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
69
83
  - !ruby/object:Gem::Dependency
70
84
  name: footrest
71
85
  requirement: !ruby/object:Gem::Requirement
@@ -106,6 +120,7 @@ files:
106
120
  - lib/bearcat/client/o_auth2.rb
107
121
  - lib/bearcat/client/outcome_groups.rb
108
122
  - lib/bearcat/client/outcomes.rb
123
+ - lib/bearcat/client/quizzes.rb
109
124
  - lib/bearcat/client/reports.rb
110
125
  - lib/bearcat/client/sections.rb
111
126
  - lib/bearcat/client/submissions.rb
@@ -127,6 +142,7 @@ files:
127
142
  - spec/bearcat/client/o_auth2_spec.rb
128
143
  - spec/bearcat/client/outcome_groups_spec.rb
129
144
  - spec/bearcat/client/outcomes_spec.rb
145
+ - spec/bearcat/client/quizzes_spec.rb
130
146
  - spec/bearcat/client/reports_spec.rb
131
147
  - spec/bearcat/client/sections_spec.rb
132
148
  - spec/bearcat/client/submissions_spec.rb
@@ -182,6 +198,9 @@ files:
182
198
  - spec/fixtures/outcome_subgroups.json
183
199
  - spec/fixtures/outcomes.json
184
200
  - spec/fixtures/paged_body.json
201
+ - spec/fixtures/quizzes/course_quiz.json
202
+ - spec/fixtures/quizzes/course_quizzes.json
203
+ - spec/fixtures/quizzes/quiz_extension.json
185
204
  - spec/fixtures/report_history.json
186
205
  - spec/fixtures/report_list.json
187
206
  - spec/fixtures/report_status.json
@@ -237,6 +256,7 @@ test_files:
237
256
  - spec/bearcat/client/o_auth2_spec.rb
238
257
  - spec/bearcat/client/outcome_groups_spec.rb
239
258
  - spec/bearcat/client/outcomes_spec.rb
259
+ - spec/bearcat/client/quizzes_spec.rb
240
260
  - spec/bearcat/client/reports_spec.rb
241
261
  - spec/bearcat/client/sections_spec.rb
242
262
  - spec/bearcat/client/submissions_spec.rb
@@ -292,6 +312,9 @@ test_files:
292
312
  - spec/fixtures/outcome_subgroups.json
293
313
  - spec/fixtures/outcomes.json
294
314
  - spec/fixtures/paged_body.json
315
+ - spec/fixtures/quizzes/course_quiz.json
316
+ - spec/fixtures/quizzes/course_quizzes.json
317
+ - spec/fixtures/quizzes/quiz_extension.json
295
318
  - spec/fixtures/report_history.json
296
319
  - spec/fixtures/report_list.json
297
320
  - spec/fixtures/report_status.json