bearcat 0.9.4 → 0.9.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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 0f2dbc1013331708852e0eea8566d7090bccb9a6
4
+ data.tar.gz: 8c8f32d0c33eea4162c4835860c0c4035d1bde4c
5
+ SHA512:
6
+ metadata.gz: 9c294cd2ac492e0b53fa002a41485b0b427ccac94895e88428d73df8504eb8bc6bd8cb377e8efc6cf08a535cfa804d322c496879cbaca436528cb23d0ea2fc46
7
+ data.tar.gz: f5d0085dc70b56c4478d76817964763866feb9e13d09ed7b320f3095261969c4e9f68290ab02dedd53d324a43229807c8fac081cc76be1d33a9f454e30bfcc71
@@ -17,6 +17,7 @@ module Bearcat
17
17
  def initialize(response, api_client, array_key = nil)
18
18
  @api_client = api_client
19
19
  @array_key = array_key
20
+ @page_count = 100
20
21
  case response.status
21
22
  when 200..206
22
23
  @members = process_body(response)
@@ -45,7 +46,6 @@ module Bearcat
45
46
 
46
47
  def next_page
47
48
  load_page('next')
48
-
49
49
  end
50
50
 
51
51
  def prev_page
@@ -60,6 +60,21 @@ module Bearcat
60
60
  load_page('last')
61
61
  end
62
62
 
63
+ def each_page(page_count = 50, &block)
64
+ @page_count = page_count
65
+ block.call(@members)
66
+ while @link_hash['next']
67
+ response = get_page(@link_hash['next'])
68
+ @headers = response.headers
69
+ @status = response.status
70
+ @method = response.env[:method]
71
+ @members = process_body(response)
72
+ init_pages(@headers[:link])
73
+ block.call(@members)
74
+ end
75
+ @link_hash = {}
76
+ end
77
+
63
78
  def all_pages!(page_count = 50)
64
79
  if pages?
65
80
  @page_count = page_count
@@ -12,6 +12,7 @@ require 'bearcat/client/conferences'
12
12
  require 'bearcat/client/users'
13
13
  require 'bearcat/client/reports'
14
14
  require 'bearcat/client/accounts'
15
+ require 'bearcat/client/submissions'
15
16
 
16
17
  module Bearcat
17
18
  class Client < Footrest::Client
@@ -28,6 +29,7 @@ module Bearcat
28
29
  include Conferences
29
30
  include Users
30
31
  include Reports
32
+ include Submissions
31
33
 
32
34
 
33
35
  # Override Footrest request for ApiArray support
@@ -0,0 +1,22 @@
1
+ module Bearcat
2
+ class Client
3
+ module AccountReports
4
+
5
+ def available_reports(account, params={})
6
+ get("/api/v1/accounts/#{account}/reports", params)
7
+ end
8
+
9
+ def start_report(account, report, params)
10
+ post("api/v1/accounts/#{account}/reports/#{report}", params)
11
+ end
12
+
13
+ def report_index(account, report, params={})
14
+ get("/api/v1/accounts/#{account}/reports/#{report}", params)
15
+ end
16
+
17
+ def report_status(account, report, report_id)
18
+ get("/api/v1/accounts/#{account}/reports/#{report}/#{report_id}")
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,11 @@
1
+ module Bearcat
2
+ class Client < Footrest::Client
3
+ module Submissions
4
+
5
+ def course_submissions(course, params={})
6
+ get("/api/v1/courses/#{course.to_s}/students/submissions", params)
7
+ end
8
+
9
+ end
10
+ end
11
+ end
@@ -1,3 +1,3 @@
1
1
  module Bearcat
2
- VERSION = '0.9.4' unless defined?(Bearcat::VERSION)
2
+ VERSION = '0.9.5' unless defined?(Bearcat::VERSION)
3
3
  end
@@ -0,0 +1,24 @@
1
+ require 'helper'
2
+
3
+ describe Bearcat::Client::Assignments do
4
+ before do
5
+ @client = Bearcat::Client.new(canvas_domain: "http://canvas.instructure.com", token: "test_token")
6
+ end
7
+
8
+ it "returns all available reports" do
9
+
10
+ end
11
+
12
+ it "starts a report" do
13
+
14
+ end
15
+
16
+ it "returns index of reportt" do
17
+
18
+ end
19
+
20
+ it "returns the correct status" do
21
+
22
+ end
23
+
24
+ end
@@ -0,0 +1,24 @@
1
+ require 'helper'
2
+
3
+ describe Bearcat::Client::Submissions do
4
+ before do
5
+ @client = Bearcat::Client.new(prefix:"http://canvas.instructure.com", token: "test_token")
6
+ end
7
+
8
+ it "returns all submissions for a course" do
9
+ stub_get(@client, "/api/v1/courses/3/students/submissions").to_return(json_response("submissions.json"))
10
+ submissions = @client.course_submissions(3)
11
+ submissions['assignment_id'].should == 2353405
12
+ submissions['id'].should == 8444510
13
+ submissions['score'].should == 1
14
+ submissions['grade'].should == '1'
15
+ submissions['user_id'].should == 682285
16
+ submissions['workflow_state'].should =='unsubmitted'
17
+ submissions['late'].should == false
18
+ submissions['preview_url'].should =='https://canvas.instructure.com/courses/218274/assignments/2353405/submissions/682285?preview=1'
19
+ submissions['workflow_state'].should =='unsubmitted'
20
+ submissions['workflow_state'].should =='unsubmitted'
21
+ submissions['workflow_state'].should =='unsubmitted'
22
+ end
23
+
24
+ end
@@ -0,0 +1,748 @@
1
+ [
2
+ {
3
+ "title": "Grade Export",
4
+ "parameters": {
5
+ "enrollment_term_id": {
6
+ "required": false,
7
+ "description": "The canvas id of the term to get grades from"
8
+ },
9
+ "include_deleted": {
10
+ "required": false,
11
+ "description": "Include deleted objects"
12
+ }
13
+ },
14
+ "report": "grade_export_csv",
15
+ "last_run": null
16
+ },
17
+ {
18
+ "title": "Last User Access",
19
+ "parameters": {
20
+ "enrollment_term_id": {
21
+ "required": false,
22
+ "description": "The canvas id of the term to get grades from"
23
+ },
24
+ "course_id": {
25
+ "required": false,
26
+ "description": "The course to report on"
27
+ }
28
+ },
29
+ "report": "last_user_access_csv",
30
+ "last_run": null
31
+ },
32
+ {
33
+ "title": "Outcome Results",
34
+ "parameters": {
35
+ "enrollment_term_id": {
36
+ "required": false,
37
+ "description": "The canvas id of the term of courses to report on"
38
+ },
39
+ "order": {
40
+ "required": false,
41
+ "description": "The sort order for the csv, Options: 'users', 'courses', 'outcomes'"
42
+ },
43
+ "include_deleted": {
44
+ "required": false,
45
+ "description": "Include deleted objects"
46
+ }
47
+ },
48
+ "report": "outcome_results_csv",
49
+ "last_run": null
50
+ },
51
+ {
52
+ "title": "Provisioning",
53
+ "parameters": {
54
+ "enrollment_term_id": {
55
+ "required": false,
56
+ "description": "The canvas id of the term of courses to report on"
57
+ },
58
+ "users": {
59
+ "required": false,
60
+ "description": "Get the Provisioning file for users"
61
+ },
62
+ "accounts": {
63
+ "required": false,
64
+ "description": "Get the Provisioning file for accounts"
65
+ },
66
+ "terms": {
67
+ "required": false,
68
+ "description": "Get the Provisioning file for terms"
69
+ },
70
+ "courses": {
71
+ "required": false,
72
+ "description": "Get the Provisioning file for courses"
73
+ },
74
+ "sections": {
75
+ "required": false,
76
+ "description": "Get the Provisioning file for sections"
77
+ },
78
+ "enrollments": {
79
+ "required": false,
80
+ "description": "Get the Provisioning file for enrollments"
81
+ },
82
+ "groups": {
83
+ "required": false,
84
+ "description": "Get the Provisioning file for groups"
85
+ },
86
+ "group_membership": {
87
+ "required": false,
88
+ "description": "Get the Provisioning file for group_membership"
89
+ },
90
+ "xlist": {
91
+ "required": false,
92
+ "description": "Get the Provisioning file for cross listed courses"
93
+ },
94
+ "include_deleted": {
95
+ "required": false,
96
+ "description": "Include deleted objects"
97
+ }
98
+ },
99
+ "report": "provisioning_csv",
100
+ "last_run": {
101
+ "id": 59,
102
+ "parameters": {
103
+ "enrollment_term_id": "",
104
+ "terms": "1",
105
+ "extra_text": "Term: All Terms; Reports: terms "
106
+ },
107
+ "progress": 100,
108
+ "status": "complete",
109
+ "report": "provisioning_csv",
110
+ "file_url": "https://localhost:3000/accounts/1/files/129/download",
111
+ "attachment": {
112
+ "id": 129,
113
+ "content-type": "text/csv",
114
+ "display_name": "provisioning_csv_03_Oct_2013_59_.csv",
115
+ "filename": "provisioning_csv_03_Oct_2013_59_4546-0.csv",
116
+ "url": "http://localhost:3000/files/129/download?download_frd=1&verifier=MeULgnpC8PCDxD6QRYbyLmXeUmVpUJ3B4GmFetJq",
117
+ "size": 146,
118
+ "created_at": "2013-10-04T04:42:33Z",
119
+ "updated_at": "2013-10-04T04:42:33Z",
120
+ "unlock_at": null,
121
+ "locked": false,
122
+ "hidden": false,
123
+ "lock_at": null,
124
+ "hidden_for_user": false,
125
+ "thumbnail_url": null,
126
+ "locked_for_user": false
127
+ }
128
+ }
129
+ },
130
+ {
131
+ "title": "Recently Deleted Courses",
132
+ "parameters": {
133
+ "enrollment_term_id": {
134
+ "required": false,
135
+ "description": "The canvas id of the term to get grades from"
136
+ }
137
+ },
138
+ "report": "recently_deleted_courses_csv",
139
+ "last_run": null
140
+ },
141
+ {
142
+ "title": "SIS Export",
143
+ "parameters": {
144
+ "enrollment_term_id": {
145
+ "required": false,
146
+ "description": "The canvas id of the term of courses to report on"
147
+ },
148
+ "users": {
149
+ "required": false,
150
+ "description": "Get the SIS file for users"
151
+ },
152
+ "accounts": {
153
+ "required": false,
154
+ "description": "Get the SIS file for accounts"
155
+ },
156
+ "terms": {
157
+ "required": false,
158
+ "description": "Get the SIS file for terms"
159
+ },
160
+ "courses": {
161
+ "required": false,
162
+ "description": "Get the SIS file for courses"
163
+ },
164
+ "sections": {
165
+ "required": false,
166
+ "description": "Get the SIS file for sections"
167
+ },
168
+ "enrollments": {
169
+ "required": false,
170
+ "description": "Get the SIS file for enrollments"
171
+ },
172
+ "groups": {
173
+ "required": false,
174
+ "description": "Get the SIS file for groups"
175
+ },
176
+ "group_membership": {
177
+ "required": false,
178
+ "description": "Get the SIS file for group_membership"
179
+ },
180
+ "xlist": {
181
+ "required": false,
182
+ "description": "Get the SIS file for cross listed courses"
183
+ },
184
+ "include_deleted": {
185
+ "required": false,
186
+ "description": "Include deleted objects"
187
+ }
188
+ },
189
+ "report": "sis_export_csv",
190
+ "last_run": {
191
+ "id": 54,
192
+ "parameters": {
193
+ "enrollment_term_id": "",
194
+ "users": "1",
195
+ "courses": "1",
196
+ "xlist": "1",
197
+ "extra_text": "Term: All Terms; Reports: users courses xlist "
198
+ },
199
+ "progress": 100,
200
+ "status": "complete",
201
+ "report": "sis_export_csv",
202
+ "file_url": "https://localhost:3000/accounts/1/files/124/download",
203
+ "attachment": {
204
+ "id": 124,
205
+ "content-type": "application/zip",
206
+ "display_name": "sis_export_csv_03_Oct_2013_54_.zip",
207
+ "filename": "sis_export_csv_03_Oct_2013_54_4546-0.zip",
208
+ "url": "http://localhost:3000/files/124/download?download_frd=1&verifier=NCNS9uE3Ch7bER6WLs6Ca5paNAc4T6dzvXhYsENj",
209
+ "size": 11598,
210
+ "created_at": "2013-10-04T04:33:48Z",
211
+ "updated_at": "2013-10-04T04:33:48Z",
212
+ "unlock_at": null,
213
+ "locked": false,
214
+ "hidden": false,
215
+ "lock_at": null,
216
+ "hidden_for_user": false,
217
+ "thumbnail_url": null,
218
+ "locked_for_user": false
219
+ }
220
+ }
221
+ },
222
+ {
223
+ "title": "Student Competency",
224
+ "parameters": {
225
+ "enrollment_term_id": {
226
+ "required": false,
227
+ "description": "The canvas id of the term of courses to report on"
228
+ },
229
+ "include_deleted": {
230
+ "required": false,
231
+ "description": "Include deleted objects"
232
+ }
233
+ },
234
+ "report": "student_assignment_outcome_map_csv",
235
+ "last_run": null
236
+ },
237
+ {
238
+ "title": "Students with no submissions",
239
+ "parameters": {
240
+ "enrollment_term_id": {
241
+ "required": false,
242
+ "description": "The term to report on"
243
+ },
244
+ "course_id": {
245
+ "required": false,
246
+ "description": "The course to report on"
247
+ },
248
+ "start_at": {
249
+ "required": true,
250
+ "description": "The beginning date for submissions. Max time range is 2 weeks."
251
+ },
252
+ "end_at": {
253
+ "required": true,
254
+ "description": "The end date for submissions. Max time range is 2 weeks."
255
+ }
256
+ },
257
+ "report": "students_with_no_submissions_csv",
258
+ "last_run": null
259
+ },
260
+ {
261
+ "title": "Unpublished Courses",
262
+ "parameters": {
263
+ "enrollment_term_id": {
264
+ "required": false,
265
+ "description": "The canvas id of the term to get grades from"
266
+ }
267
+ },
268
+ "report": "unpublished_courses_csv",
269
+ "last_run": null
270
+ },
271
+ {
272
+ "title": "Unused Courses",
273
+ "parameters": {
274
+ "enrollment_term_id": {
275
+ "required": false,
276
+ "description": "The canvas id of the term to get courses from"
277
+ }
278
+ },
279
+ "report": "unused_courses_csv",
280
+ "last_run": null
281
+ },
282
+ {
283
+ "title": "Zero Activity",
284
+ "parameters": {
285
+ "enrollment_term_id": {
286
+ "required": false,
287
+ "description": "The canvas id of the term to get grades from"
288
+ },
289
+ "course_id": {
290
+ "required": false,
291
+ "description": "The course to report on"
292
+ }
293
+ },
294
+ "report": "zero_activity_csv",
295
+ "last_run": null
296
+ },
297
+ {
298
+ "title": "Multi-Student Progress",
299
+ "parameters": null,
300
+ "report": "multi_student_progress_csv",
301
+ "last_run": null
302
+ },
303
+ {
304
+ "title": "Ungraded Student Submissions",
305
+ "parameters": null,
306
+ "report": "ungraded_submissions_csv",
307
+ "last_run": null
308
+ },
309
+ {
310
+ "title": "Faculty Success Report",
311
+ "parameters": null,
312
+ "report": "faculty_success_csv",
313
+ "last_run": null
314
+ },
315
+ {
316
+ "title": "Registrar Report",
317
+ "parameters": null,
318
+ "report": "registrar_csv",
319
+ "last_run": null
320
+ },
321
+ {
322
+ "title": "Enrollment Summary",
323
+ "parameters": null,
324
+ "report": "enrollment_summary_csv",
325
+ "last_run": null
326
+ },
327
+ {
328
+ "title": "Google Doc Accounts",
329
+ "parameters": null,
330
+ "report": "google_doc_accounts_csv",
331
+ "last_run": null
332
+ },
333
+ {
334
+ "title": "Quiz Data",
335
+ "parameters": {
336
+ "enrollment_term_id": {
337
+ "required": false,
338
+ "description": "The term to report on"
339
+ },
340
+ "start_at": {
341
+ "required": true,
342
+ "description": "The beginning date for the quiz due date"
343
+ },
344
+ "end_at": {
345
+ "required": true,
346
+ "description": "The end date for the quiz due date"
347
+ }
348
+ },
349
+ "report": "quiz_data_csv",
350
+ "last_run": null
351
+ },
352
+ {
353
+ "title": "Quiz Statistics",
354
+ "parameters": {
355
+ "enrollment_term_id": {
356
+ "required": false,
357
+ "description": "The term to report on"
358
+ },
359
+ "start_at": {
360
+ "required": true,
361
+ "description": "The beginning date for the quiz due date"
362
+ },
363
+ "end_at": {
364
+ "required": true,
365
+ "description": "The end date for the quiz due date"
366
+ }
367
+ },
368
+ "report": "quiz_statistics_csv",
369
+ "last_run": null
370
+ },
371
+ {
372
+ "title": "Student Submissions",
373
+ "parameters": {
374
+ "enrollment_term_id": {
375
+ "required": false,
376
+ "description": "The term to report on"
377
+ },
378
+ "start_at": {
379
+ "required": true,
380
+ "description": "The beginning date for submissions"
381
+ },
382
+ "end_at": {
383
+ "required": true,
384
+ "description": "The end date for submissions"
385
+ }
386
+ },
387
+ "report": "student_submissions_csv",
388
+ "last_run": null
389
+ },
390
+ {
391
+ "title": "CampusVue Grade Export",
392
+ "parameters": {
393
+ "enrollment_term_id": {
394
+ "required": true,
395
+ "description": "The term for grade export data"
396
+ }
397
+ },
398
+ "report": "custom_grade_export_csv",
399
+ "last_run": null
400
+ },
401
+ {
402
+ "title": "SIS data",
403
+ "parameters": {
404
+ "users": {
405
+ "required": false,
406
+ "description": "Get the SIS file for users"
407
+ },
408
+ "sections": {
409
+ "required": false,
410
+ "description": "Get the SIS file for sections"
411
+ },
412
+ "enrollments": {
413
+ "required": false,
414
+ "description": "Get the SIS file for enrollments"
415
+ }
416
+ },
417
+ "report": "mississippi_sis_csv",
418
+ "last_run": null
419
+ },
420
+ {
421
+ "title": "Submission Data",
422
+ "parameters": {
423
+ "enrollment_term_id": {
424
+ "required": false,
425
+ "description": "The term to report on"
426
+ },
427
+ "course_id": {
428
+ "required": false,
429
+ "description": "The course to report on"
430
+ },
431
+ "start_at": {
432
+ "required": false,
433
+ "description": "Everything updated after start date"
434
+ }
435
+ },
436
+ "report": "submission_data_csv",
437
+ "last_run": null
438
+ },
439
+ {
440
+ "title": "Course Section Status",
441
+ "parameters": {
442
+ "enrollment_term_id": {
443
+ "required": true,
444
+ "description": "The term to get courses from"
445
+ }
446
+ },
447
+ "report": "course_status_csv",
448
+ "last_run": null
449
+ },
450
+ {
451
+ "title": "Student IP addresses",
452
+ "parameters": {
453
+ "enrollment_term_id": {
454
+ "required": false,
455
+ "description": "The term to report on"
456
+ },
457
+ "course_id": {
458
+ "required": false,
459
+ "description": "The course to report on"
460
+ }
461
+ },
462
+ "report": "student_ip_csv",
463
+ "last_run": null
464
+ },
465
+ {
466
+ "title": "Custom Outcomes",
467
+ "parameters": {
468
+ "enrollment_term_id": {
469
+ "required": false,
470
+ "description": "The canvas id of the term of courses to report on"
471
+ },
472
+ "course_id": {
473
+ "required": false,
474
+ "description": "The course to report on"
475
+ },
476
+ "outcome_id": {
477
+ "required": false,
478
+ "description": "The outcome to report on"
479
+ }
480
+ },
481
+ "report": "custom_outcomes_csv",
482
+ "last_run": null
483
+ },
484
+ {
485
+ "title": "Scantron Quiz",
486
+ "parameters": {
487
+ "quiz_id": {
488
+ "required": false,
489
+ "description": "Quiz to generate Scantron report for"
490
+ },
491
+ "section_id": {
492
+ "required": false,
493
+ "description": "Section ID"
494
+ }
495
+ },
496
+ "report": "scantron_quiz_csv",
497
+ "last_run": null
498
+ },
499
+ {
500
+ "title": "Students who have not logged in Report",
501
+ "parameters": {
502
+ "enrollment_term_id": {
503
+ "required": false,
504
+ "description": "The term to report on"
505
+ },
506
+ "start_at": {
507
+ "required": false,
508
+ "description": "Users that have not logged in since this date"
509
+ },
510
+ "never_logged_in": {
511
+ "required": false,
512
+ "description": "Include users that have never logged in"
513
+ }
514
+ },
515
+ "report": "student_login_csv",
516
+ "last_run": null
517
+ },
518
+ {
519
+ "title": "CHCP Student Activity Report",
520
+ "parameters": {
521
+ "enrollment_term_id": {
522
+ "required": false,
523
+ "description": "The term to report on"
524
+ },
525
+ "course_id": {
526
+ "required": false,
527
+ "description": "The course to report on"
528
+ }
529
+ },
530
+ "report": "chcp_student_activity_csv",
531
+ "last_run": null
532
+ },
533
+ {
534
+ "title": "Students Access Report",
535
+ "parameters": {
536
+ "enrollment_term_id": {
537
+ "required": false,
538
+ "description": "The term to report on"
539
+ },
540
+ "course_id": {
541
+ "required": false,
542
+ "description": "The course to report on"
543
+ },
544
+ "start_at": {
545
+ "required": false,
546
+ "description": "Everything updated after start date"
547
+ }
548
+ },
549
+ "report": "student_access_csv",
550
+ "last_run": null
551
+ },
552
+ {
553
+ "title": "User Inactivity Report",
554
+ "parameters": {
555
+ "enrollment_term_id": {
556
+ "required": false,
557
+ "description": "The term to report on"
558
+ },
559
+ "course_id": {
560
+ "required": false,
561
+ "description": "The course to report on"
562
+ },
563
+ "start_at": {
564
+ "required": false,
565
+ "description": "Everything updated after start date"
566
+ },
567
+ "enrollment_type": {
568
+ "required": false,
569
+ "description": "Filter by 'student', 'teacher', or 'ta' enrollment types"
570
+ },
571
+ "minimum": {
572
+ "required": false,
573
+ "description": "Minimum number of course items visited, i.e. Assignment, syllabus, discussion"
574
+ }
575
+ },
576
+ "report": "user_inactivity_csv",
577
+ "last_run": null
578
+ },
579
+ {
580
+ "title": "CCP Zero Activity",
581
+ "parameters": {
582
+ "enrollment_term_id": {
583
+ "required": false,
584
+ "description": "The canvas id of the term to get grades from"
585
+ },
586
+ "course_id": {
587
+ "required": false,
588
+ "description": "The course to report on"
589
+ },
590
+ "start_at": {
591
+ "required": false,
592
+ "description": "Report start date"
593
+ },
594
+ "filter_online": {
595
+ "required": false,
596
+ "description": "Show online classes only"
597
+ }
598
+ },
599
+ "report": "ccp_zero_activity_csv",
600
+ "last_run": null
601
+ },
602
+ {
603
+ "title": "Safety Drill Scheduling",
604
+ "parameters": {
605
+ "enrollment_term": {
606
+ "required": false,
607
+ "description": "The term to report on"
608
+ },
609
+ "tests": {
610
+ "required": false,
611
+ "description": "The Assignment Group named tests"
612
+ },
613
+ "projects": {
614
+ "required": false,
615
+ "description": "The Assignment Group named projects"
616
+ },
617
+ "papers": {
618
+ "required": false,
619
+ "description": "The Assignment Group named papers"
620
+ },
621
+ "reports": {
622
+ "required": false,
623
+ "description": "The Assignment Group named reports"
624
+ },
625
+ "major": {
626
+ "required": false,
627
+ "description": "The Assignment Group named major"
628
+ },
629
+ "start_at": {
630
+ "required": false,
631
+ "description": "Report start date"
632
+ },
633
+ "end_at": {
634
+ "required": true,
635
+ "description": "Report end date"
636
+ }
637
+ },
638
+ "report": "safety_drill_csv",
639
+ "last_run": {
640
+ "id": 53,
641
+ "parameters": {
642
+ "enrollment_term_id": "",
643
+ "start_at": "Oct 1, 2013",
644
+ "end_at": "Oct 31, 2013",
645
+ "tests": "true",
646
+ "projects": "true",
647
+ "papers": "true",
648
+ "reports": "true",
649
+ "major": "true",
650
+ "extra_text": "Term: All Terms; Start At: 2013-10-01 00:00:00 -0600; End At: 2013-10-31 00:00:00 -0600; Assignment Group Types: tests,projects,papers,reports,major"
651
+ },
652
+ "progress": 100,
653
+ "status": "complete",
654
+ "report": "safety_drill_csv",
655
+ "file_url": "https://localhost:3000/accounts/1/files/123/download",
656
+ "attachment": {
657
+ "id": 123,
658
+ "content-type": "text/csv",
659
+ "display_name": "safety_drill_csv_30_Sep_2013_53_4546-0.csv",
660
+ "filename": "safety_drill_csv_30_Sep_2013_53_4546-0.csv",
661
+ "url": "http://localhost:3000/files/123/download?download_frd=1&verifier=MKkWuNzAjGTT8BnEEmahiXoAOw8OiJA8jv84ScCU",
662
+ "size": 681,
663
+ "created_at": "2013-09-30T19:35:53Z",
664
+ "updated_at": "2013-09-30T19:35:53Z",
665
+ "unlock_at": null,
666
+ "locked": false,
667
+ "hidden": false,
668
+ "lock_at": null,
669
+ "hidden_for_user": false,
670
+ "thumbnail_url": null,
671
+ "locked_for_user": false
672
+ }
673
+ }
674
+ },
675
+ {
676
+ "title": "Assignment Scheduling",
677
+ "parameters": {
678
+ "section_id": {
679
+ "required": false,
680
+ "description": "The section to report on"
681
+ },
682
+ "tests": {
683
+ "required": false,
684
+ "description": "The Assignment Group named tests"
685
+ },
686
+ "projects": {
687
+ "required": false,
688
+ "description": "The Assignment Group named projects"
689
+ },
690
+ "papers": {
691
+ "required": false,
692
+ "description": "The Assignment Group named papers"
693
+ },
694
+ "reports": {
695
+ "required": false,
696
+ "description": "The Assignment Group named reports"
697
+ },
698
+ "major": {
699
+ "required": false,
700
+ "description": "The Assignment Group named major"
701
+ },
702
+ "start_at": {
703
+ "required": false,
704
+ "description": "Report start date"
705
+ },
706
+ "end_at": {
707
+ "required": true,
708
+ "description": "Report end date"
709
+ }
710
+ },
711
+ "report": "assignment_scheduling_csv",
712
+ "last_run": {
713
+ "id": 49,
714
+ "parameters": {
715
+ "section_id": "",
716
+ "start_at": "Sep 1, 2013",
717
+ "end_at": "Oct 31, 2013",
718
+ "tests": "true",
719
+ "projects": "true",
720
+ "papers": "true",
721
+ "reports": "true",
722
+ "major": "true",
723
+ "extra_text": "Start At: 2013-09-01 00:00:00 -0600; End At: 2013-10-31 00:00:00 -0600; Assignment Group Types: tests,projects,papers,reports,major"
724
+ },
725
+ "progress": 100,
726
+ "status": "complete",
727
+ "report": "assignment_scheduling_csv",
728
+ "file_url": "https://localhost:3000/accounts/1/files/119/download",
729
+ "attachment": {
730
+ "id": 119,
731
+ "content-type": "text/csv",
732
+ "display_name": "assignment_scheduling_csv_24_Sep_2013_49_96296-0.csv",
733
+ "filename": "assignment_scheduling_csv_24_Sep_2013_49_96296-0.csv",
734
+ "url": "http://localhost:3000/files/119/download?download_frd=1&verifier=iV4aoUUoDEfBTY4JJKFMEzw01d89tIL1dOWrP22L",
735
+ "size": 492,
736
+ "created_at": "2013-09-24T22:09:58Z",
737
+ "updated_at": "2013-09-24T22:09:58Z",
738
+ "unlock_at": null,
739
+ "locked": false,
740
+ "hidden": false,
741
+ "lock_at": null,
742
+ "hidden_for_user": false,
743
+ "thumbnail_url": null,
744
+ "locked_for_user": false
745
+ }
746
+ }
747
+ }
748
+ ]
@@ -0,0 +1,18 @@
1
+ [
2
+ {
3
+ "id": 60,
4
+ "parameters": null,
5
+ "progress": 0,
6
+ "status": "error",
7
+ "report": "Grade Export",
8
+ "file_url": null
9
+ },
10
+ {
11
+ "id": 61,
12
+ "parameters": null,
13
+ "progress": 0,
14
+ "status": "error",
15
+ "report": "Grade Export",
16
+ "file_url": null
17
+ }
18
+ ]
@@ -0,0 +1,28 @@
1
+ {
2
+ "id": 70,
3
+ "parameters": {
4
+ "enrollments": "true",
5
+ "extra_text": "Term: All Terms; Reports: enrollments "
6
+ },
7
+ "progress": 100,
8
+ "status": "complete",
9
+ "report": "sis_export_csv",
10
+ "file_url": "https://localhost:3000/accounts/1/files/132/download",
11
+ "attachment": {
12
+ "id": 132,
13
+ "content-type": "text/csv",
14
+ "display_name": "sis_export_csv_04_Oct_2013_70_.csv",
15
+ "filename": "sis_export_csv_04_Oct_2013_65_1845-0.csv",
16
+ "url": "http://localhost:3000/files/132/download?download_frd=1&verifier=B1oCKqt0OpIL2cB4zPDJtxidwrj2b42KgRapU5pS",
17
+ "size": 27906,
18
+ "created_at": "2013-10-04T21:08:43Z",
19
+ "updated_at": "2013-10-04T21:08:43Z",
20
+ "unlock_at": null,
21
+ "locked": false,
22
+ "hidden": false,
23
+ "lock_at": null,
24
+ "hidden_for_user": false,
25
+ "thumbnail_url": null,
26
+ "locked_for_user": false
27
+ }
28
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "id": 60,
3
+ "parameters": null,
4
+ "progress": 0,
5
+ "status": "running",
6
+ "report": "Grade Export",
7
+ "file_url": null
8
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "assignment_id": 2353405,
3
+ "attempt": null,
4
+ "body": null,
5
+ "grade": "1",
6
+ "grade_matches_current_submission": null,
7
+ "graded_at": "2014-02-27T20:22:49Z",
8
+ "grader_id": 627536,
9
+ "id": 8444510,
10
+ "score": 1,
11
+ "submission_type": null,
12
+ "submitted_at": null,
13
+ "url": null,
14
+ "user_id": 682285,
15
+ "workflow_state": "unsubmitted",
16
+ "late": false,
17
+ "preview_url": "https://canvas.instructure.com/courses/218274/assignments/2353405/submissions/682285?preview=1"
18
+ }
metadata CHANGED
@@ -1,52 +1,46 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bearcat
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.4
5
- prerelease:
4
+ version: 0.9.5
6
5
  platform: ruby
7
6
  authors:
8
7
  - Nathan Mills, Jake Sorce
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2014-03-04 00:00:00.000000000 Z
11
+ date: 2014-03-24 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: rake
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ! '>='
17
+ - - '>='
20
18
  - !ruby/object:Gem::Version
21
19
  version: '0'
22
20
  type: :development
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ! '>='
24
+ - - '>='
28
25
  - !ruby/object:Gem::Version
29
26
  version: '0'
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: bundler
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ! '>='
31
+ - - '>='
36
32
  - !ruby/object:Gem::Version
37
33
  version: 1.0.0
38
34
  type: :development
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
- - - ! '>='
38
+ - - '>='
44
39
  - !ruby/object:Gem::Version
45
40
  version: 1.0.0
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: rspec
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
45
  - - ~>
52
46
  - !ruby/object:Gem::Version
@@ -54,7 +48,6 @@ dependencies:
54
48
  type: :development
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
52
  - - ~>
60
53
  - !ruby/object:Gem::Version
@@ -62,49 +55,43 @@ dependencies:
62
55
  - !ruby/object:Gem::Dependency
63
56
  name: webmock
64
57
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
58
  requirements:
67
- - - ! '>='
59
+ - - '>='
68
60
  - !ruby/object:Gem::Version
69
61
  version: '0'
70
62
  type: :development
71
63
  prerelease: false
72
64
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
65
  requirements:
75
- - - ! '>='
66
+ - - '>='
76
67
  - !ruby/object:Gem::Version
77
68
  version: '0'
78
69
  - !ruby/object:Gem::Dependency
79
70
  name: debugger
80
71
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
72
  requirements:
83
- - - ! '>='
73
+ - - '>='
84
74
  - !ruby/object:Gem::Version
85
75
  version: '0'
86
76
  type: :development
87
77
  prerelease: false
88
78
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
79
  requirements:
91
- - - ! '>='
80
+ - - '>='
92
81
  - !ruby/object:Gem::Version
93
82
  version: '0'
94
83
  - !ruby/object:Gem::Dependency
95
84
  name: footrest
96
85
  requirement: !ruby/object:Gem::Requirement
97
- none: false
98
86
  requirements:
99
- - - ! '>='
87
+ - - '>='
100
88
  - !ruby/object:Gem::Version
101
89
  version: 0.2.2
102
90
  type: :runtime
103
91
  prerelease: false
104
92
  version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
93
  requirements:
107
- - - ! '>='
94
+ - - '>='
108
95
  - !ruby/object:Gem::Version
109
96
  version: 0.2.2
110
97
  description: Ruby interface for interacting with the canvas API
@@ -117,6 +104,7 @@ files:
117
104
  - Rakefile
118
105
  - bearcat.gemspec
119
106
  - lib/bearcat/api_array.rb
107
+ - lib/bearcat/client/account_reports.rb
120
108
  - lib/bearcat/client/accounts.rb
121
109
  - lib/bearcat/client/assignments.rb
122
110
  - lib/bearcat/client/conferences.rb
@@ -128,10 +116,12 @@ files:
128
116
  - lib/bearcat/client/outcomes.rb
129
117
  - lib/bearcat/client/reports.rb
130
118
  - lib/bearcat/client/sections.rb
119
+ - lib/bearcat/client/submissions.rb
131
120
  - lib/bearcat/client/users.rb
132
121
  - lib/bearcat/client.rb
133
122
  - lib/bearcat/version.rb
134
123
  - lib/bearcat.rb
124
+ - spec/bearcat/client/account_reports_spec.rb
135
125
  - spec/bearcat/client/accounts_spec.rb
136
126
  - spec/bearcat/client/assignments_spec.rb
137
127
  - spec/bearcat/client/conferences_spec.rb
@@ -143,9 +133,14 @@ files:
143
133
  - spec/bearcat/client/outcomes_spec.rb
144
134
  - spec/bearcat/client/reports_spec.rb
145
135
  - spec/bearcat/client/sections_spec.rb
136
+ - spec/bearcat/client/submissions_spec.rb
146
137
  - spec/bearcat/client/users_spec.rb
147
138
  - spec/bearcat/client_spec.rb
148
139
  - spec/bearcat_spec.rb
140
+ - spec/fixtures/account_reports.json
141
+ - spec/fixtures/account_reports_index.json
142
+ - spec/fixtures/account_reports_result_success.json
143
+ - spec/fixtures/account_reports_start_result.json
149
144
  - spec/fixtures/account_user.json
150
145
  - spec/fixtures/account_users.json
151
146
  - spec/fixtures/add_user.json
@@ -179,6 +174,7 @@ files:
179
174
  - spec/fixtures/section_enrollments.json
180
175
  - spec/fixtures/single_account.json
181
176
  - spec/fixtures/start_report.json
177
+ - spec/fixtures/submissions.json
182
178
  - spec/fixtures/update_outcome.json
183
179
  - spec/fixtures/update_outcome_group.json
184
180
  - spec/fixtures/update_section.json
@@ -187,29 +183,29 @@ files:
187
183
  - spec/helper.rb
188
184
  homepage:
189
185
  licenses: []
186
+ metadata: {}
190
187
  post_install_message:
191
188
  rdoc_options: []
192
189
  require_paths:
193
190
  - lib
194
191
  required_ruby_version: !ruby/object:Gem::Requirement
195
- none: false
196
192
  requirements:
197
- - - ! '>='
193
+ - - '>='
198
194
  - !ruby/object:Gem::Version
199
195
  version: '0'
200
196
  required_rubygems_version: !ruby/object:Gem::Requirement
201
- none: false
202
197
  requirements:
203
- - - ! '>='
198
+ - - '>='
204
199
  - !ruby/object:Gem::Version
205
200
  version: '0'
206
201
  requirements: []
207
202
  rubyforge_project:
208
- rubygems_version: 1.8.23
203
+ rubygems_version: 2.0.3
209
204
  signing_key:
210
- specification_version: 3
205
+ specification_version: 4
211
206
  summary: Canvas API
212
207
  test_files:
208
+ - spec/bearcat/client/account_reports_spec.rb
213
209
  - spec/bearcat/client/accounts_spec.rb
214
210
  - spec/bearcat/client/assignments_spec.rb
215
211
  - spec/bearcat/client/conferences_spec.rb
@@ -221,9 +217,14 @@ test_files:
221
217
  - spec/bearcat/client/outcomes_spec.rb
222
218
  - spec/bearcat/client/reports_spec.rb
223
219
  - spec/bearcat/client/sections_spec.rb
220
+ - spec/bearcat/client/submissions_spec.rb
224
221
  - spec/bearcat/client/users_spec.rb
225
222
  - spec/bearcat/client_spec.rb
226
223
  - spec/bearcat_spec.rb
224
+ - spec/fixtures/account_reports.json
225
+ - spec/fixtures/account_reports_index.json
226
+ - spec/fixtures/account_reports_result_success.json
227
+ - spec/fixtures/account_reports_start_result.json
227
228
  - spec/fixtures/account_user.json
228
229
  - spec/fixtures/account_users.json
229
230
  - spec/fixtures/add_user.json
@@ -257,6 +258,7 @@ test_files:
257
258
  - spec/fixtures/section_enrollments.json
258
259
  - spec/fixtures/single_account.json
259
260
  - spec/fixtures/start_report.json
261
+ - spec/fixtures/submissions.json
260
262
  - spec/fixtures/update_outcome.json
261
263
  - spec/fixtures/update_outcome_group.json
262
264
  - spec/fixtures/update_section.json