bearcat 1.2.13 → 1.2.14
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/bearcat/client/discussions.rb +16 -0
- data/lib/bearcat/client/quizzes.rb +4 -0
- data/lib/bearcat/version.rb +1 -1
- data/spec/bearcat/client/discussions_spec.rb +37 -0
- data/spec/bearcat/client/quizzes_spec.rb +9 -0
- data/spec/fixtures/discussion_entries.json +21 -0
- data/spec/fixtures/discussion_topics.json +51 -0
- data/spec/fixtures/quizzes/course_quiz_questions.json +59 -0
- metadata +10 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c22f978d3c9f3f779452fa52734b972d90fc624a
|
4
|
+
data.tar.gz: 70792969c2e7da477446ce6c769b0a8f9330e03a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7b47e7b61259c19521dbb74c220bea5c825600754325ceaf5ecfa6bb7776dae22e3c974b5230210aa3c8a7680f51268de166f4c2c9893ed099d588f131e624a8
|
7
|
+
data.tar.gz: ec0d6d28382f111ca084362029c40f2a71aaca6d4662546663659b6af2c0d944c9f4ffb3d14e6a5c8ff24b20bf6fa30993a4736d434dd4eeb14e5cfca084298d
|
@@ -10,6 +10,22 @@ module Bearcat
|
|
10
10
|
post("/api/v1/courses/#{course_id}/discussion_topics", params)
|
11
11
|
end
|
12
12
|
|
13
|
+
def group_discussions(group_id, params = {})
|
14
|
+
get("/api/v1/groups/#{group_id}/discussion_topics", params)
|
15
|
+
end
|
16
|
+
|
17
|
+
def course_discussions(course_id, params= {})
|
18
|
+
get("/api/v1/courses/#{course_id}/discussion_topics", params)
|
19
|
+
end
|
20
|
+
|
21
|
+
def group_discussion_entries(group_id, discussion_id, params = {})
|
22
|
+
get("/api/v1/groups/#{group_id}/discussion_topics/#{discussion_id}/entries", params)
|
23
|
+
end
|
24
|
+
|
25
|
+
def course_discussion_entries(course_id, discussion_id, params= {})
|
26
|
+
get("/api/v1/courses/#{course_id}/discussion_topics/#{discussion_id}/entries", params)
|
27
|
+
end
|
28
|
+
|
13
29
|
end
|
14
30
|
end
|
15
31
|
end
|
@@ -18,6 +18,10 @@ module Bearcat
|
|
18
18
|
get("/api/v1/courses/#{course}/quizzes/assignment_overrides", params)
|
19
19
|
end
|
20
20
|
|
21
|
+
def quiz_questions(course, quiz, params={})
|
22
|
+
get("/api/v1/courses/#{course}/quizzes/#{quiz}/questions", params)
|
23
|
+
end
|
24
|
+
|
21
25
|
def create_quiz(course, params={})
|
22
26
|
post("/api/v1/courses/#{course}/quizzes", params)
|
23
27
|
end
|
data/lib/bearcat/version.rb
CHANGED
@@ -19,4 +19,41 @@ describe Bearcat::Client::Discussions do
|
|
19
19
|
discussion['title'].should == 'This is a course discussion'
|
20
20
|
end
|
21
21
|
|
22
|
+
|
23
|
+
it 'returns course discussion topics' do
|
24
|
+
stub_get(@client, "/api/v1/courses/1/discussion_topics").to_return(json_response("discussion_topics.json"))
|
25
|
+
discussions = @client.course_discussions('1')
|
26
|
+
discussions.class.should eq(Bearcat::ApiArray)
|
27
|
+
discussions.count.should == 1
|
28
|
+
discussions[0].class.should eq(Hash)
|
29
|
+
discussions[0]['id'].should == 1
|
30
|
+
end
|
31
|
+
|
32
|
+
it 'returns group discussion topics' do
|
33
|
+
stub_get(@client, "/api/v1/groups/1/discussion_topics").to_return(json_response("discussion_topics.json"))
|
34
|
+
discussions = @client.group_discussions('1')
|
35
|
+
discussions.class.should eq(Bearcat::ApiArray)
|
36
|
+
discussions.count.should == 1
|
37
|
+
discussions[0].class.should eq(Hash)
|
38
|
+
discussions[0]['id'].should == 1
|
39
|
+
end
|
40
|
+
|
41
|
+
it 'returns course discussion entries' do
|
42
|
+
stub_get(@client, "/api/v1/courses/1/discussion_topics/1/entries").to_return(json_response("discussion_entries.json"))
|
43
|
+
discussions = @client.course_discussion_entries('1', '1')
|
44
|
+
discussions.class.should eq(Bearcat::ApiArray)
|
45
|
+
discussions.count.should == 1
|
46
|
+
discussions[0].class.should eq(Hash)
|
47
|
+
discussions[0]['id'].should == 1
|
48
|
+
end
|
49
|
+
|
50
|
+
it 'returns group discussion entries' do
|
51
|
+
stub_get(@client, "/api/v1/groups/1/discussion_topics/1/entries").to_return(json_response("discussion_entries.json"))
|
52
|
+
discussions = @client.group_discussion_entries('1', '1')
|
53
|
+
discussions.class.should eq(Bearcat::ApiArray)
|
54
|
+
discussions.count.should == 1
|
55
|
+
discussions[0].class.should eq(Hash)
|
56
|
+
discussions[0]['id'].should == 1
|
57
|
+
end
|
58
|
+
|
22
59
|
end
|
@@ -44,4 +44,13 @@ describe Bearcat::Client::Quizzes do
|
|
44
44
|
quiz["id"].should == 38
|
45
45
|
end
|
46
46
|
|
47
|
+
it 'returns quiz questions' do
|
48
|
+
stub_get(@client, "/api/v1/courses/1/quizzes/1/questions").to_return(json_response("quizzes/course_quiz_questions.json"))
|
49
|
+
course_quiz_questions = @client.quiz_questions('1', '1')
|
50
|
+
course_quiz_questions.class.should eq(Bearcat::ApiArray)
|
51
|
+
course_quiz_questions.count.should == 1
|
52
|
+
course_quiz_questions[0].class.should eq(Hash)
|
53
|
+
course_quiz_questions[0]['id'].should == 1
|
54
|
+
end
|
55
|
+
|
47
56
|
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
[
|
2
|
+
{
|
3
|
+
"id": 1,
|
4
|
+
"user_id": 170000004597713,
|
5
|
+
"parent_id": null,
|
6
|
+
"created_at": "2016-08-22T18:41:53Z",
|
7
|
+
"updated_at": "2016-08-22T18:41:53Z",
|
8
|
+
"rating_count": null,
|
9
|
+
"rating_sum": null,
|
10
|
+
"user_name": "Mark Valentine",
|
11
|
+
"message": "<p><a id=\"\" class=\"\" title=\"\" href=\"http://ola.aacc.edu/policies/IntegrityPolicy.pdf\" target=\"\">what about this policy?</a></p>",
|
12
|
+
"user": {
|
13
|
+
"id": 170000004597713,
|
14
|
+
"display_name": "Mark Valentine",
|
15
|
+
"avatar_image_url": "https://secure.gravatar.com/avatar/ef7cb412b0b68576d39a7014919e6e92?s=50&d=https%3A%2F%2Fmvalentine.instructure.com%2Fimages%2Fmessages%2Favatar-50.png",
|
16
|
+
"html_url": "https://mvalentine.instructure.com/courses/1/users/17~4597713"
|
17
|
+
},
|
18
|
+
"read_state": "read",
|
19
|
+
"forced_read_state": false
|
20
|
+
}
|
21
|
+
]
|
@@ -0,0 +1,51 @@
|
|
1
|
+
[
|
2
|
+
{
|
3
|
+
"id": 1,
|
4
|
+
"title": "Lets talk about the integrity policy",
|
5
|
+
"last_reply_at": "2016-08-22T18:41:53Z",
|
6
|
+
"delayed_post_at": null,
|
7
|
+
"posted_at": "2016-08-22T18:26:42Z",
|
8
|
+
"assignment_id": null,
|
9
|
+
"root_topic_id": null,
|
10
|
+
"position": null,
|
11
|
+
"podcast_has_student_posts": false,
|
12
|
+
"discussion_type": "side_comment",
|
13
|
+
"lock_at": null,
|
14
|
+
"allow_rating": false,
|
15
|
+
"only_graders_can_rate": false,
|
16
|
+
"sort_by_rating": false,
|
17
|
+
"user_name": "Mark Valentine",
|
18
|
+
"discussion_subentry_count": 1,
|
19
|
+
"permissions": {
|
20
|
+
"attach": true,
|
21
|
+
"update": true,
|
22
|
+
"reply": true,
|
23
|
+
"delete": true
|
24
|
+
},
|
25
|
+
"require_initial_post": null,
|
26
|
+
"user_can_see_posts": true,
|
27
|
+
"podcast_url": null,
|
28
|
+
"read_state": "read",
|
29
|
+
"unread_count": 0,
|
30
|
+
"subscribed": true,
|
31
|
+
"topic_children": [],
|
32
|
+
"attachments": [],
|
33
|
+
"published": true,
|
34
|
+
"can_unpublish": true,
|
35
|
+
"locked": false,
|
36
|
+
"can_lock": true,
|
37
|
+
"author": {
|
38
|
+
"id": 170000004597713,
|
39
|
+
"display_name": "Mark Valentine",
|
40
|
+
"avatar_image_url": "https://secure.gravatar.com/avatar/ef7cb412b0b68576d39a7014919e6e92?s=50&d=https%3A%2F%2Fmvalentine.instructure.com%2Fimages%2Fmessages%2Favatar-50.png",
|
41
|
+
"html_url": "https://mvalentine.instructure.com/courses/1/users/17~4597713"
|
42
|
+
},
|
43
|
+
"html_url": "https://mvalentine.instructure.com/courses/1/discussion_topics/1",
|
44
|
+
"url": "https://mvalentine.instructure.com/courses/1/discussion_topics/1",
|
45
|
+
"pinned": false,
|
46
|
+
"group_category_id": null,
|
47
|
+
"can_group": true,
|
48
|
+
"locked_for_user": false,
|
49
|
+
"message": "<p>I have this policy.</p>\r\n<p><a class=\"\" title=\"http://ola.aacc.edu/policies/IntegrityPolicy.pdf\" href=\"https://mvalentine.instructure.com/courses/1/files/3/download?verifier=gAUYA5q4jdW9k7R3A4Tw2TQ0KKmP5g4ubOelhFOU&wrap=1\" target=\"\" data-api-endpoint=\"https://mvalentine.instructure.com/api/v1/courses/1/files/3\" data-api-returntype=\"File\">http://ola.aacc.edu/policies/IntegrityPolicy.pdf</a></p>\r\n<p> </p>"
|
50
|
+
}
|
51
|
+
]
|
@@ -0,0 +1,59 @@
|
|
1
|
+
[
|
2
|
+
{
|
3
|
+
"id": 1,
|
4
|
+
"quiz_id": 1,
|
5
|
+
"quiz_group_id": null,
|
6
|
+
"assessment_question_id": 1,
|
7
|
+
"position": 1,
|
8
|
+
"question_name": "Question",
|
9
|
+
"question_type": "multiple_choice_question",
|
10
|
+
"question_text": "<p><a id=\"\" class=\"\" title=\"\" href=\"https://ola.aacc.edu/cwoolson/phl111/disembodied_lady.pdf\" target=\"\">this is a quiz question</a></p>",
|
11
|
+
"points_possible": 1,
|
12
|
+
"correct_comments": "",
|
13
|
+
"incorrect_comments": "",
|
14
|
+
"neutral_comments": "",
|
15
|
+
"correct_comments_html": "",
|
16
|
+
"incorrect_comments_html": "",
|
17
|
+
"neutral_comments_html": "",
|
18
|
+
"answers": [
|
19
|
+
{
|
20
|
+
"id": 1244,
|
21
|
+
"text": "https://ola.aacc.edu/cwoolson/phl111/disembodied_lady.pdf",
|
22
|
+
"html": "",
|
23
|
+
"comments": "",
|
24
|
+
"comments_html": "",
|
25
|
+
"weight": 100
|
26
|
+
},
|
27
|
+
{
|
28
|
+
"id": 8619,
|
29
|
+
"text": "",
|
30
|
+
"html": "",
|
31
|
+
"comments": "",
|
32
|
+
"comments_html": "",
|
33
|
+
"weight": 0
|
34
|
+
},
|
35
|
+
{
|
36
|
+
"id": 5385,
|
37
|
+
"text": "",
|
38
|
+
"html": "",
|
39
|
+
"comments": "",
|
40
|
+
"comments_html": "",
|
41
|
+
"weight": 0
|
42
|
+
},
|
43
|
+
{
|
44
|
+
"id": 6697,
|
45
|
+
"text": "",
|
46
|
+
"html": "",
|
47
|
+
"comments": "",
|
48
|
+
"comments_html": "",
|
49
|
+
"weight": 0
|
50
|
+
}
|
51
|
+
],
|
52
|
+
"variables": null,
|
53
|
+
"formulas": null,
|
54
|
+
"answer_tolerance": null,
|
55
|
+
"formula_decimal_places": null,
|
56
|
+
"matches": null,
|
57
|
+
"matching_answer_incorrect_matches": null
|
58
|
+
}
|
59
|
+
]
|
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: 1.2.
|
4
|
+
version: 1.2.14
|
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: 2016-08-
|
11
|
+
date: 2016-08-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -225,6 +225,8 @@ files:
|
|
225
225
|
- spec/fixtures/deleted_conversation.json
|
226
226
|
- spec/fixtures/department_level_participation.json
|
227
227
|
- spec/fixtures/department_level_statistics.json
|
228
|
+
- spec/fixtures/discussion_entries.json
|
229
|
+
- spec/fixtures/discussion_topics.json
|
228
230
|
- spec/fixtures/edited_group.json
|
229
231
|
- spec/fixtures/enroll_student.json
|
230
232
|
- spec/fixtures/enrollment_terms.json
|
@@ -249,6 +251,7 @@ files:
|
|
249
251
|
- spec/fixtures/paged_body.json
|
250
252
|
- spec/fixtures/pages.json
|
251
253
|
- spec/fixtures/quizzes/course_quiz.json
|
254
|
+
- spec/fixtures/quizzes/course_quiz_questions.json
|
252
255
|
- spec/fixtures/quizzes/course_quizzes.json
|
253
256
|
- spec/fixtures/quizzes/quiz_assignment_override.json
|
254
257
|
- spec/fixtures/quizzes/quiz_extension.json
|
@@ -290,7 +293,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
290
293
|
version: '0'
|
291
294
|
requirements: []
|
292
295
|
rubyforge_project:
|
293
|
-
rubygems_version: 2.4.5
|
296
|
+
rubygems_version: 2.4.5.1
|
294
297
|
signing_key:
|
295
298
|
specification_version: 4
|
296
299
|
summary: Canvas API
|
@@ -382,6 +385,8 @@ test_files:
|
|
382
385
|
- spec/fixtures/deleted_conversation.json
|
383
386
|
- spec/fixtures/department_level_participation.json
|
384
387
|
- spec/fixtures/department_level_statistics.json
|
388
|
+
- spec/fixtures/discussion_entries.json
|
389
|
+
- spec/fixtures/discussion_topics.json
|
385
390
|
- spec/fixtures/edited_group.json
|
386
391
|
- spec/fixtures/enroll_student.json
|
387
392
|
- spec/fixtures/enrollment_terms.json
|
@@ -406,6 +411,7 @@ test_files:
|
|
406
411
|
- spec/fixtures/paged_body.json
|
407
412
|
- spec/fixtures/pages.json
|
408
413
|
- spec/fixtures/quizzes/course_quiz.json
|
414
|
+
- spec/fixtures/quizzes/course_quiz_questions.json
|
409
415
|
- spec/fixtures/quizzes/course_quizzes.json
|
410
416
|
- spec/fixtures/quizzes/quiz_assignment_override.json
|
411
417
|
- spec/fixtures/quizzes/quiz_extension.json
|
@@ -428,3 +434,4 @@ test_files:
|
|
428
434
|
- spec/fixtures/user_page_views.json
|
429
435
|
- spec/fixtures/user_profile.json
|
430
436
|
- spec/helper.rb
|
437
|
+
has_rdoc:
|