bearcat 0.9.4 → 0.9.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -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