bearcat 0.8 → 0.9

Sign up to get free protection for your applications and to get access to all the features.
@@ -10,6 +10,7 @@ require 'bearcat/client/o_auth2'
10
10
  require 'bearcat/client/groups'
11
11
  require 'bearcat/client/conferences'
12
12
  require 'bearcat/client/users'
13
+ require 'bearcat/client/reports'
13
14
 
14
15
  module Bearcat
15
16
  class Client < Footrest::Client
@@ -24,6 +25,7 @@ module Bearcat
24
25
  include Groups
25
26
  include Conferences
26
27
  include Users
28
+ include Reports
27
29
 
28
30
 
29
31
  # Override Footrest request for ApiArray support
@@ -10,7 +10,7 @@ module Bearcat
10
10
  post("/api/v1/accounts/#{account_id}/courses", params)
11
11
  end
12
12
 
13
- def list_users(course, params={})
13
+ def list_course_users(course, params={})
14
14
  get("/api/v1/courses/#{course}/users", params)
15
15
  end
16
16
 
@@ -0,0 +1,27 @@
1
+ module Bearcat
2
+ class Client < Footrest::Client
3
+ module Reports
4
+
5
+ def report_list(account)
6
+ get("/api/v1/accounts/#{account}/reports")
7
+ end
8
+
9
+ def start_report(account, report_name, params = {})
10
+ post("/api/v1/accounts/#{account}/reports/#{report_name}", params)
11
+ end
12
+
13
+ def report_history(account, report_name)
14
+ get("/api/v1/accounts/#{account}/reports/#{report_name}")
15
+ end
16
+
17
+ def report_status(account, report_name, report_id)
18
+ get("/api/v1/accounts/#{account}/reports/#{report_name}/#{report_id}")
19
+ end
20
+
21
+ def delete_report(account, report_name, report_id)
22
+ delete("/api/v1/accounts/#{account}/reports/#{report_name}/#{report_id}")
23
+ end
24
+
25
+ end
26
+ end
27
+ end
@@ -1,3 +1,3 @@
1
1
  module Bearcat
2
- VERSION = '0.8' unless defined?(Bearcat::VERSION)
2
+ VERSION = '0.9' unless defined?(Bearcat::VERSION)
3
3
  end
@@ -23,7 +23,7 @@ describe Bearcat::Client::Sections do
23
23
 
24
24
  it "lists all of the students in a course" do
25
25
  stub_get(@client, "/api/v1/courses/1/users?enrollment_type=student").to_return(json_response("course_students.json"))
26
- students = @client.list_users(1, {"enrollment_type" => "student"})
26
+ students = @client.list_course_users(1, {"enrollment_type" => "student"})
27
27
  students['name'].should == 'test@student.com'
28
28
  students['id'].should == 2
29
29
  end
@@ -0,0 +1,38 @@
1
+ require 'helper'
2
+
3
+ describe Bearcat::Client::Reports do
4
+ before do
5
+ @client = Bearcat::Client.new(prefix: 'http://canvas.instructure.com', token: 'test_token')
6
+ end
7
+
8
+ it 'lists the reports availible' do
9
+ stub_get(@client, '/api/v1/accounts/1/reports').to_return(json_response('report_list.json'))
10
+ reports = @client.report_list(1)
11
+ reports.count.should == 38
12
+ end
13
+
14
+ it 'starts a report' do
15
+ stub_post(@client, '/api/v1/accounts/1/reports/last_user_access_csv').to_return(json_response('start_report.json'))
16
+ status = @client.start_report(1, 'last_user_access_csv')
17
+ status['report'].should == 'last_user_access_csv'
18
+ end
19
+
20
+ it 'lists the report history' do
21
+ stub_get(@client, '/api/v1/accounts/1/reports/last_user_access_csv').to_return(json_response('report_history.json'))
22
+ history = @client.report_history(1, 'last_user_access_csv')
23
+ history.count == 2
24
+ end
25
+
26
+ it 'gets the status of a report' do
27
+ stub_get(@client, '/api/v1/accounts/1/reports/last_user_access_csv/72').to_return(json_response('report_status.json'))
28
+ status = @client.report_status(1, 'last_user_access_csv', 72)
29
+ status['status'] == 'complete'
30
+ end
31
+
32
+ it 'deletes a report' do
33
+ stub_delete(@client, '/api/v1/accounts/1/reports/last_user_access_csv/72').to_return(json_response('report_status.json'))
34
+ status = @client.delete_report(1, 'last_user_access_csv', 72)
35
+ status['report'] == 'last_user_access_csv'
36
+ end
37
+
38
+ end
@@ -0,0 +1,52 @@
1
+ [
2
+ {
3
+ "id": 71,
4
+ "parameters": {},
5
+ "progress": 100,
6
+ "status": "complete",
7
+ "report": "last_user_access_csv",
8
+ "file_url": "https://localhost:3000/accounts/1/files/678/download",
9
+ "attachment": {
10
+ "id": 678,
11
+ "content-type": "text/csv",
12
+ "display_name": "last_user_access_csv_23_Jan_2014_71_14345-0.csv",
13
+ "filename": "1390497025_763__last_user_access_csv_23_Jan_2014_71_14345-0.csv",
14
+ "url": "http://localhost:3000/files/678/download?download_frd=1&verifier=zFvx1rVQ8yg78DAwvATtFXfasZg8ECrNiJsCeqGH",
15
+ "size": 13350,
16
+ "created_at": "2014-01-23T17:10:24Z",
17
+ "updated_at": "2014-01-23T17:10:25Z",
18
+ "unlock_at": null,
19
+ "locked": false,
20
+ "hidden": false,
21
+ "lock_at": null,
22
+ "hidden_for_user": false,
23
+ "thumbnail_url": null,
24
+ "locked_for_user": false
25
+ }
26
+ },
27
+ {
28
+ "id": 72,
29
+ "parameters": {},
30
+ "progress": 100,
31
+ "status": "complete",
32
+ "report": "last_user_access_csv",
33
+ "file_url": "https://localhost:3000/accounts/1/files/679/download",
34
+ "attachment": {
35
+ "id": 679,
36
+ "content-type": "text/csv",
37
+ "display_name": "last_user_access_csv_23_Jan_2014_72_14345-0.csv",
38
+ "filename": "1390497025_763__last_user_access_csv_23_Jan_2014_71_14345-0.csv",
39
+ "url": "http://localhost:3000/files/679/download?download_frd=1&verifier=BfzTimBCj3Tg430dTx8CW6e6qJQsQIzZJfgcdjd1",
40
+ "size": 13350,
41
+ "created_at": "2014-01-23T17:10:53Z",
42
+ "updated_at": "2014-01-23T17:10:53Z",
43
+ "unlock_at": null,
44
+ "locked": false,
45
+ "hidden": false,
46
+ "lock_at": null,
47
+ "hidden_for_user": false,
48
+ "thumbnail_url": null,
49
+ "locked_for_user": false
50
+ }
51
+ }
52
+ ]
@@ -0,0 +1,862 @@
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": {
16
+ "id": 60,
17
+ "parameters": {
18
+ "enrollment_term_id": "",
19
+ "extra_text": "Term: All Terms;"
20
+ },
21
+ "progress": 100,
22
+ "status": "complete",
23
+ "report": "grade_export_csv",
24
+ "file_url": "https://localhost:3000/accounts/1/files/505/download",
25
+ "attachment": {
26
+ "id": 505,
27
+ "content-type": "text/csv",
28
+ "display_name": "grade_export_csv_05_Nov_2013_60_55437-0.csv",
29
+ "filename": "grade_export_csv_05_Nov_2013_60_55437-0.csv",
30
+ "url": "http://localhost:3000/files/505/download?download_frd=1&verifier=tJ8uRDjK4IlrtAed8QcziGn8b3MHnx7jyw2q5oiV",
31
+ "size": 5625,
32
+ "created_at": "2013-11-05T16:24:40Z",
33
+ "updated_at": "2013-11-05T16:24:40Z",
34
+ "unlock_at": null,
35
+ "locked": false,
36
+ "hidden": false,
37
+ "lock_at": null,
38
+ "hidden_for_user": false,
39
+ "thumbnail_url": null,
40
+ "locked_for_user": false
41
+ }
42
+ }
43
+ },
44
+ {
45
+ "title": "Last User Access",
46
+ "parameters": {
47
+ "enrollment_term_id": {
48
+ "required": false,
49
+ "description": "The canvas id of the term to get grades from"
50
+ },
51
+ "course_id": {
52
+ "required": false,
53
+ "description": "The course to report on"
54
+ }
55
+ },
56
+ "report": "last_user_access_csv",
57
+ "last_run": null
58
+ },
59
+ {
60
+ "title": "Outcome Results",
61
+ "parameters": {
62
+ "enrollment_term_id": {
63
+ "required": false,
64
+ "description": "The canvas id of the term of courses to report on"
65
+ },
66
+ "order": {
67
+ "required": false,
68
+ "description": "The sort order for the csv, Options: 'users', 'courses', 'outcomes'"
69
+ },
70
+ "include_deleted": {
71
+ "required": false,
72
+ "description": "Include deleted objects"
73
+ }
74
+ },
75
+ "report": "outcome_results_csv",
76
+ "last_run": null
77
+ },
78
+ {
79
+ "title": "Provisioning",
80
+ "parameters": {
81
+ "enrollment_term_id": {
82
+ "required": false,
83
+ "description": "The canvas id of the term of courses to report on"
84
+ },
85
+ "users": {
86
+ "required": false,
87
+ "description": "Get the Provisioning file for users"
88
+ },
89
+ "accounts": {
90
+ "required": false,
91
+ "description": "Get the Provisioning file for accounts"
92
+ },
93
+ "terms": {
94
+ "required": false,
95
+ "description": "Get the Provisioning file for terms"
96
+ },
97
+ "courses": {
98
+ "required": false,
99
+ "description": "Get the Provisioning file for courses"
100
+ },
101
+ "sections": {
102
+ "required": false,
103
+ "description": "Get the Provisioning file for sections"
104
+ },
105
+ "enrollments": {
106
+ "required": false,
107
+ "description": "Get the Provisioning file for enrollments"
108
+ },
109
+ "groups": {
110
+ "required": false,
111
+ "description": "Get the Provisioning file for groups"
112
+ },
113
+ "group_membership": {
114
+ "required": false,
115
+ "description": "Get the Provisioning file for group_membership"
116
+ },
117
+ "xlist": {
118
+ "required": false,
119
+ "description": "Get the Provisioning file for cross listed courses"
120
+ },
121
+ "include_deleted": {
122
+ "required": false,
123
+ "description": "Include deleted objects"
124
+ }
125
+ },
126
+ "report": "provisioning_csv",
127
+ "last_run": {
128
+ "id": 70,
129
+ "parameters": {
130
+ "enrollment_term_id": "",
131
+ "users": "1",
132
+ "courses": "1",
133
+ "sections": "1",
134
+ "enrollments": "1",
135
+ "groups": "1",
136
+ "group_membership": "1",
137
+ "extra_text": "Term: All Terms; Reports: users courses sections enrollments groups group_membership "
138
+ },
139
+ "progress": 100,
140
+ "status": "complete",
141
+ "report": "provisioning_csv",
142
+ "file_url": "https://localhost:3000/accounts/1/files/677/download",
143
+ "attachment": {
144
+ "id": 677,
145
+ "content-type": "application/zip",
146
+ "display_name": "provisioning_csv_23_Jan_2014_70_.zip",
147
+ "filename": "1390494378_345__provisioning_csv_23_Jan_2014_70_14345-0.zip",
148
+ "url": "http://localhost:3000/files/677/download?download_frd=1&verifier=a24g0vKYxb3hJCFYxWFqCvb67UcZ0NpTLqf7dydT",
149
+ "size": 8936,
150
+ "created_at": "2014-01-23T16:26:18Z",
151
+ "updated_at": "2014-01-23T16:26:18Z",
152
+ "unlock_at": null,
153
+ "locked": false,
154
+ "hidden": false,
155
+ "lock_at": null,
156
+ "hidden_for_user": false,
157
+ "thumbnail_url": null,
158
+ "locked_for_user": false
159
+ }
160
+ }
161
+ },
162
+ {
163
+ "title": "Recently Deleted Courses",
164
+ "parameters": {
165
+ "enrollment_term_id": {
166
+ "required": false,
167
+ "description": "The canvas id of the term to get grades from"
168
+ }
169
+ },
170
+ "report": "recently_deleted_courses_csv",
171
+ "last_run": null
172
+ },
173
+ {
174
+ "title": "SIS Export",
175
+ "parameters": {
176
+ "enrollment_term_id": {
177
+ "required": false,
178
+ "description": "The canvas id of the term of courses to report on"
179
+ },
180
+ "users": {
181
+ "required": false,
182
+ "description": "Get the SIS file for users"
183
+ },
184
+ "accounts": {
185
+ "required": false,
186
+ "description": "Get the SIS file for accounts"
187
+ },
188
+ "terms": {
189
+ "required": false,
190
+ "description": "Get the SIS file for terms"
191
+ },
192
+ "courses": {
193
+ "required": false,
194
+ "description": "Get the SIS file for courses"
195
+ },
196
+ "sections": {
197
+ "required": false,
198
+ "description": "Get the SIS file for sections"
199
+ },
200
+ "enrollments": {
201
+ "required": false,
202
+ "description": "Get the SIS file for enrollments"
203
+ },
204
+ "groups": {
205
+ "required": false,
206
+ "description": "Get the SIS file for groups"
207
+ },
208
+ "group_membership": {
209
+ "required": false,
210
+ "description": "Get the SIS file for group_membership"
211
+ },
212
+ "xlist": {
213
+ "required": false,
214
+ "description": "Get the SIS file for cross listed courses"
215
+ },
216
+ "include_deleted": {
217
+ "required": false,
218
+ "description": "Include deleted objects"
219
+ }
220
+ },
221
+ "report": "sis_export_csv",
222
+ "last_run": null
223
+ },
224
+ {
225
+ "title": "Student Competency",
226
+ "parameters": {
227
+ "enrollment_term_id": {
228
+ "required": false,
229
+ "description": "The canvas id of the term of courses to report on"
230
+ },
231
+ "include_deleted": {
232
+ "required": false,
233
+ "description": "Include deleted objects"
234
+ }
235
+ },
236
+ "report": "student_assignment_outcome_map_csv",
237
+ "last_run": null
238
+ },
239
+ {
240
+ "title": "Students with no submissions",
241
+ "parameters": {
242
+ "enrollment_term_id": {
243
+ "required": false,
244
+ "description": "The term to report on"
245
+ },
246
+ "course_id": {
247
+ "required": false,
248
+ "description": "The course to report on"
249
+ },
250
+ "start_at": {
251
+ "required": true,
252
+ "description": "The beginning date for submissions. Max time range is 2 weeks."
253
+ },
254
+ "end_at": {
255
+ "required": true,
256
+ "description": "The end date for submissions. Max time range is 2 weeks."
257
+ }
258
+ },
259
+ "report": "students_with_no_submissions_csv",
260
+ "last_run": null
261
+ },
262
+ {
263
+ "title": "Unpublished Courses",
264
+ "parameters": {
265
+ "enrollment_term_id": {
266
+ "required": false,
267
+ "description": "The canvas id of the term to get grades from"
268
+ }
269
+ },
270
+ "report": "unpublished_courses_csv",
271
+ "last_run": null
272
+ },
273
+ {
274
+ "title": "Unused Courses",
275
+ "parameters": {
276
+ "enrollment_term_id": {
277
+ "required": false,
278
+ "description": "The canvas id of the term to get courses from"
279
+ }
280
+ },
281
+ "report": "unused_courses_csv",
282
+ "last_run": null
283
+ },
284
+ {
285
+ "title": "Zero Activity",
286
+ "parameters": {
287
+ "enrollment_term_id": {
288
+ "required": false,
289
+ "description": "The canvas id of the term to get grades from"
290
+ },
291
+ "course_id": {
292
+ "required": false,
293
+ "description": "The course to report on"
294
+ }
295
+ },
296
+ "report": "zero_activity_csv",
297
+ "last_run": null
298
+ },
299
+ {
300
+ "title": "Multi-Student Progress",
301
+ "parameters": null,
302
+ "report": "multi_student_progress_csv",
303
+ "last_run": null
304
+ },
305
+ {
306
+ "title": "Ungraded Student Submissions",
307
+ "parameters": null,
308
+ "report": "ungraded_submissions_csv",
309
+ "last_run": null
310
+ },
311
+ {
312
+ "title": "Faculty Success Report",
313
+ "parameters": null,
314
+ "report": "faculty_success_csv",
315
+ "last_run": null
316
+ },
317
+ {
318
+ "title": "Registrar Report",
319
+ "parameters": null,
320
+ "report": "registrar_csv",
321
+ "last_run": null
322
+ },
323
+ {
324
+ "title": "Enrollment Summary",
325
+ "parameters": null,
326
+ "report": "enrollment_summary_csv",
327
+ "last_run": null
328
+ },
329
+ {
330
+ "title": "Google Doc Accounts",
331
+ "parameters": null,
332
+ "report": "google_doc_accounts_csv",
333
+ "last_run": null
334
+ },
335
+ {
336
+ "title": "Quiz Data",
337
+ "parameters": {
338
+ "enrollment_term_id": {
339
+ "required": false,
340
+ "description": "The term to report on"
341
+ },
342
+ "start_at": {
343
+ "required": true,
344
+ "description": "The beginning date for the quiz due date"
345
+ },
346
+ "end_at": {
347
+ "required": true,
348
+ "description": "The end date for the quiz due date"
349
+ }
350
+ },
351
+ "report": "quiz_data_csv",
352
+ "last_run": null
353
+ },
354
+ {
355
+ "title": "Quiz Statistics",
356
+ "parameters": {
357
+ "enrollment_term_id": {
358
+ "required": false,
359
+ "description": "The term to report on"
360
+ },
361
+ "start_at": {
362
+ "required": true,
363
+ "description": "The beginning date for the quiz due date"
364
+ },
365
+ "end_at": {
366
+ "required": true,
367
+ "description": "The end date for the quiz due date"
368
+ }
369
+ },
370
+ "report": "quiz_statistics_csv",
371
+ "last_run": null
372
+ },
373
+ {
374
+ "title": "Student Submissions",
375
+ "parameters": {
376
+ "enrollment_term_id": {
377
+ "required": false,
378
+ "description": "The term to report on"
379
+ },
380
+ "start_at": {
381
+ "required": true,
382
+ "description": "The beginning date for submissions"
383
+ },
384
+ "end_at": {
385
+ "required": true,
386
+ "description": "The end date for submissions"
387
+ }
388
+ },
389
+ "report": "student_submissions_csv",
390
+ "last_run": null
391
+ },
392
+ {
393
+ "title": "CampusVue Grade Export",
394
+ "parameters": {
395
+ "enrollment_term_id": {
396
+ "required": true,
397
+ "description": "The term for grade export data"
398
+ }
399
+ },
400
+ "report": "custom_grade_export_csv",
401
+ "last_run": null
402
+ },
403
+ {
404
+ "title": "SIS data",
405
+ "parameters": {
406
+ "users": {
407
+ "required": false,
408
+ "description": "Get the SIS file for users"
409
+ },
410
+ "sections": {
411
+ "required": false,
412
+ "description": "Get the SIS file for sections"
413
+ },
414
+ "enrollments": {
415
+ "required": false,
416
+ "description": "Get the SIS file for enrollments"
417
+ }
418
+ },
419
+ "report": "mississippi_sis_csv",
420
+ "last_run": null
421
+ },
422
+ {
423
+ "title": "Submission Data",
424
+ "parameters": {
425
+ "enrollment_term_id": {
426
+ "required": false,
427
+ "description": "The term to report on"
428
+ },
429
+ "course_id": {
430
+ "required": false,
431
+ "description": "The course to report on"
432
+ },
433
+ "start_at": {
434
+ "required": false,
435
+ "description": "Everything updated after start date"
436
+ }
437
+ },
438
+ "report": "submission_data_csv",
439
+ "last_run": null
440
+ },
441
+ {
442
+ "title": "Course Section Status",
443
+ "parameters": {
444
+ "enrollment_term_id": {
445
+ "required": true,
446
+ "description": "The term to get courses from"
447
+ }
448
+ },
449
+ "report": "course_status_csv",
450
+ "last_run": null
451
+ },
452
+ {
453
+ "title": "Student Grades",
454
+ "parameters": {
455
+ "pseudonym_ids": {
456
+ "required": true,
457
+ "description": "List of Pseudonyms to get report for"
458
+ },
459
+ "enrollment_term_id": {
460
+ "required": false,
461
+ "description": "The term to report on"
462
+ }
463
+ },
464
+ "report": "student_grades_csv",
465
+ "last_run": null
466
+ },
467
+ {
468
+ "title": "Student IP addresses",
469
+ "parameters": {
470
+ "enrollment_term_id": {
471
+ "required": false,
472
+ "description": "The term to report on"
473
+ },
474
+ "course_id": {
475
+ "required": false,
476
+ "description": "The course to report on"
477
+ }
478
+ },
479
+ "report": "student_ip_csv",
480
+ "last_run": null
481
+ },
482
+ {
483
+ "title": "Custom Outcomes",
484
+ "parameters": {
485
+ "enrollment_term_id": {
486
+ "required": false,
487
+ "description": "The canvas id of the term of courses to report on"
488
+ },
489
+ "course_id": {
490
+ "required": false,
491
+ "description": "The course to report on"
492
+ },
493
+ "outcome_id": {
494
+ "required": false,
495
+ "description": "The outcome to report on"
496
+ }
497
+ },
498
+ "report": "custom_outcomes_csv",
499
+ "last_run": null
500
+ },
501
+ {
502
+ "title": "Scantron Quiz",
503
+ "parameters": {
504
+ "quiz_id": {
505
+ "required": false,
506
+ "description": "Quiz to generate Scantron report for"
507
+ },
508
+ "section_id": {
509
+ "required": false,
510
+ "description": "Section ID"
511
+ }
512
+ },
513
+ "report": "scantron_quiz_csv",
514
+ "last_run": {
515
+ "id": 62,
516
+ "parameters": {
517
+ "quiz_id": "4",
518
+ "section_id": "",
519
+ "extra_text": "Quiz id: 4"
520
+ },
521
+ "progress": 100,
522
+ "status": "complete",
523
+ "report": "scantron_quiz_csv",
524
+ "file_url": "https://localhost:3000/accounts/1/files/674/download",
525
+ "attachment": {
526
+ "id": 674,
527
+ "content-type": "text/csv",
528
+ "display_name": "scantron_quiz_csv_15_Jan_2014_62_69183-0.csv",
529
+ "filename": "1389815265_348__scantron_quiz_csv_15_Jan_2014_62_69183-0.csv",
530
+ "url": "http://localhost:3000/files/674/download?download_frd=1&verifier=JAsyqPf8Ep2OWXpOUBIIz4Pv65W0ja33BDEdoFxw",
531
+ "size": 32,
532
+ "created_at": "2014-01-15T19:47:43Z",
533
+ "updated_at": "2014-01-15T19:47:45Z",
534
+ "unlock_at": null,
535
+ "locked": false,
536
+ "hidden": false,
537
+ "lock_at": null,
538
+ "hidden_for_user": false,
539
+ "thumbnail_url": null,
540
+ "locked_for_user": false
541
+ }
542
+ }
543
+ },
544
+ {
545
+ "title": "Students who have not logged in Report",
546
+ "parameters": {
547
+ "enrollment_term_id": {
548
+ "required": false,
549
+ "description": "The term to report on"
550
+ },
551
+ "start_at": {
552
+ "required": false,
553
+ "description": "Users that have not logged in since this date"
554
+ },
555
+ "never_logged_in": {
556
+ "required": false,
557
+ "description": "Include users that have never logged in"
558
+ }
559
+ },
560
+ "report": "student_login_csv",
561
+ "last_run": null
562
+ },
563
+ {
564
+ "title": "CHCP Student Activity Report",
565
+ "parameters": {
566
+ "enrollment_term_id": {
567
+ "required": false,
568
+ "description": "The term to report on"
569
+ },
570
+ "course_id": {
571
+ "required": false,
572
+ "description": "The course to report on"
573
+ }
574
+ },
575
+ "report": "chcp_student_activity_csv",
576
+ "last_run": {
577
+ "id": 21,
578
+ "parameters": {
579
+ "enrollment_term": ""
580
+ },
581
+ "progress": 100,
582
+ "status": "complete",
583
+ "report": "chcp_student_activity_csv",
584
+ "file_url": "https://localhost:3000/accounts/1/files/7/download",
585
+ "attachment": {
586
+ "id": 7,
587
+ "content-type": "text/csv",
588
+ "display_name": "chcp_student_activity_csv_02_Aug_2013_21_68034-0.csv",
589
+ "filename": "chcp_student_activity_csv_02_Aug_2013_21_68034-0.csv",
590
+ "url": "http://localhost:3000/files/7/download?download_frd=1&verifier=FJEOADJVYSfvRZlLBrMC3i7TqVBLP2y9SXudZIr0",
591
+ "size": 466,
592
+ "created_at": "2013-08-02T18:43:13Z",
593
+ "updated_at": "2013-08-02T18:43:13Z",
594
+ "unlock_at": null,
595
+ "locked": false,
596
+ "hidden": false,
597
+ "lock_at": null,
598
+ "hidden_for_user": false,
599
+ "thumbnail_url": null,
600
+ "locked_for_user": false
601
+ }
602
+ }
603
+ },
604
+ {
605
+ "title": "Students Access Report",
606
+ "parameters": {
607
+ "enrollment_term_id": {
608
+ "required": false,
609
+ "description": "The term to report on"
610
+ },
611
+ "course_id": {
612
+ "required": false,
613
+ "description": "The course to report on"
614
+ },
615
+ "start_at": {
616
+ "required": false,
617
+ "description": "Everything updated after start date"
618
+ }
619
+ },
620
+ "report": "student_access_csv",
621
+ "last_run": null
622
+ },
623
+ {
624
+ "title": "User Inactivity Report",
625
+ "parameters": {
626
+ "enrollment_term_id": {
627
+ "required": false,
628
+ "description": "The term to report on"
629
+ },
630
+ "course_id": {
631
+ "required": false,
632
+ "description": "The course to report on"
633
+ },
634
+ "start_at": {
635
+ "required": false,
636
+ "description": "Everything updated after start date"
637
+ },
638
+ "enrollment_type": {
639
+ "required": false,
640
+ "description": "Filter by 'student', 'teacher', or 'ta' enrollment types"
641
+ },
642
+ "minimum": {
643
+ "required": false,
644
+ "description": "Minimum number of course items visited, i.e. Assignment, syllabus, discussion"
645
+ }
646
+ },
647
+ "report": "user_inactivity_csv",
648
+ "last_run": null
649
+ },
650
+ {
651
+ "title": "CCP Zero Activity",
652
+ "parameters": {
653
+ "enrollment_term_id": {
654
+ "required": false,
655
+ "description": "The canvas id of the term to get grades from"
656
+ },
657
+ "course_id": {
658
+ "required": false,
659
+ "description": "The course to report on"
660
+ },
661
+ "start_at": {
662
+ "required": false,
663
+ "description": "Report start date"
664
+ },
665
+ "filter_online": {
666
+ "required": false,
667
+ "description": "Show online classes only"
668
+ }
669
+ },
670
+ "report": "ccp_zero_activity_csv",
671
+ "last_run": {
672
+ "id": 59,
673
+ "parameters": {
674
+ "enrollment_term_id": "",
675
+ "start_at": "",
676
+ "filter_online": "1",
677
+ "extra_text": "Online courses only"
678
+ },
679
+ "progress": 100,
680
+ "status": "complete",
681
+ "report": "ccp_zero_activity_csv",
682
+ "file_url": "https://localhost:3000/accounts/1/files/264/download",
683
+ "attachment": {
684
+ "id": 264,
685
+ "content-type": "text/csv",
686
+ "display_name": "ccp_zero_activity_csv_10_Sep_2013_59_2927-0.csv",
687
+ "filename": "ccp_zero_activity_csv_04_Sep_2013_52_79120-0.csv",
688
+ "url": "http://localhost:3000/files/264/download?download_frd=1&verifier=4CWe4OP4TBidM0Mi78BmaTv8pRvCYGM2Xc27tbxL",
689
+ "size": 720,
690
+ "created_at": "2013-09-10T22:59:48Z",
691
+ "updated_at": "2013-09-10T22:59:48Z",
692
+ "unlock_at": null,
693
+ "locked": false,
694
+ "hidden": false,
695
+ "lock_at": null,
696
+ "hidden_for_user": false,
697
+ "thumbnail_url": null,
698
+ "locked_for_user": false
699
+ }
700
+ }
701
+ },
702
+ {
703
+ "title": "Safety Drill Scheduling",
704
+ "parameters": {
705
+ "enrollment_term": {
706
+ "required": false,
707
+ "description": "The term to report on"
708
+ },
709
+ "tests": {
710
+ "required": false,
711
+ "description": "The Assignment Group named tests"
712
+ },
713
+ "projects": {
714
+ "required": false,
715
+ "description": "The Assignment Group named projects"
716
+ },
717
+ "papers": {
718
+ "required": false,
719
+ "description": "The Assignment Group named papers"
720
+ },
721
+ "reports": {
722
+ "required": false,
723
+ "description": "The Assignment Group named reports"
724
+ },
725
+ "major": {
726
+ "required": false,
727
+ "description": "The Assignment Group named major"
728
+ },
729
+ "start_at": {
730
+ "required": false,
731
+ "description": "Report start date"
732
+ },
733
+ "end_at": {
734
+ "required": true,
735
+ "description": "Report end date"
736
+ }
737
+ },
738
+ "report": "safety_drill_csv",
739
+ "last_run": {
740
+ "id": 22,
741
+ "parameters": {
742
+ "enrollment_term": "",
743
+ "start_at": "",
744
+ "end_at": "",
745
+ "tests": "tests",
746
+ "projects": "projects",
747
+ "papers": "papers",
748
+ "reports": "reports",
749
+ "extra_text": "Term: All Terms; Start At: 2013-08-09 15:42:07 -0600; End At: 2013-08-23 15:42:07 -0600; Assignment Group Types: "
750
+ },
751
+ "progress": 100,
752
+ "status": "complete",
753
+ "report": "safety_drill_csv",
754
+ "file_url": "https://localhost:3000/accounts/1/files/8/download",
755
+ "attachment": {
756
+ "id": 8,
757
+ "content-type": "text/csv",
758
+ "display_name": "safety_drill_csv_09_Aug_2013_22_47662-0.csv",
759
+ "filename": "safety_drill_csv_09_Aug_2013_22_47662-0.csv",
760
+ "url": "http://localhost:3000/files/8/download?download_frd=1&verifier=hlSArogafdLVZe8lOozvBSXVxdoJ2Uha4KxunYic",
761
+ "size": 171,
762
+ "created_at": "2013-08-09T21:42:07Z",
763
+ "updated_at": "2013-08-09T21:42:07Z",
764
+ "unlock_at": null,
765
+ "locked": false,
766
+ "hidden": false,
767
+ "lock_at": null,
768
+ "hidden_for_user": false,
769
+ "thumbnail_url": null,
770
+ "locked_for_user": false
771
+ }
772
+ }
773
+ },
774
+ {
775
+ "title": "Assignment Scheduling",
776
+ "parameters": {
777
+ "section_id": {
778
+ "required": false,
779
+ "description": "The section to report on"
780
+ },
781
+ "tests": {
782
+ "required": false,
783
+ "description": "The Assignment Group named tests"
784
+ },
785
+ "projects": {
786
+ "required": false,
787
+ "description": "The Assignment Group named projects"
788
+ },
789
+ "papers": {
790
+ "required": false,
791
+ "description": "The Assignment Group named papers"
792
+ },
793
+ "reports": {
794
+ "required": false,
795
+ "description": "The Assignment Group named reports"
796
+ },
797
+ "major": {
798
+ "required": false,
799
+ "description": "The Assignment Group named major"
800
+ },
801
+ "start_at": {
802
+ "required": false,
803
+ "description": "Report start date"
804
+ },
805
+ "end_at": {
806
+ "required": true,
807
+ "description": "Report end date"
808
+ }
809
+ },
810
+ "report": "assignment_scheduling_csv",
811
+ "last_run": null
812
+ },
813
+ {
814
+ "title": "Tempe Grade Export",
815
+ "parameters": {
816
+ "enrollment_term_id": {
817
+ "required": true,
818
+ "description": "The term for grade export data"
819
+ },
820
+ "course_id": {
821
+ "required": false,
822
+ "description": "The course id for the grade export data"
823
+ }
824
+ },
825
+ "report": "tempe_grade_export_csv",
826
+ "last_run": null
827
+ },
828
+ {
829
+ "title": "Learning Outcome and Assignment Type",
830
+ "parameters": {
831
+ "enrollment_term_id": {
832
+ "required": true,
833
+ "description": "The term for export data"
834
+ },
835
+ "course_id": {
836
+ "required": false,
837
+ "description": "The course id for the export data"
838
+ }
839
+ },
840
+ "report": "learning_outcome_assignment_type_csv",
841
+ "last_run": null
842
+ },
843
+ {
844
+ "title": "Campus Vue Submission Data",
845
+ "parameters": {
846
+ "enrollment_term_id": {
847
+ "required": false,
848
+ "description": "The term to report on"
849
+ },
850
+ "course_id": {
851
+ "required": false,
852
+ "description": "The course to report on"
853
+ },
854
+ "start_at": {
855
+ "required": false,
856
+ "description": "Everything updated after start date"
857
+ }
858
+ },
859
+ "report": "cv_submission_data_csv",
860
+ "last_run": null
861
+ }
862
+ ]
@@ -0,0 +1,25 @@
1
+ {
2
+ "id": 72,
3
+ "parameters": {},
4
+ "progress": 100,
5
+ "status": "complete",
6
+ "report": "last_user_access_csv",
7
+ "file_url": "https://localhost:3000/accounts/1/files/679/download",
8
+ "attachment": {
9
+ "id": 679,
10
+ "content-type": "text/csv",
11
+ "display_name": "last_user_access_csv_23_Jan_2014_72_14345-0.csv",
12
+ "filename": "1390497025_763__last_user_access_csv_23_Jan_2014_71_14345-0.csv",
13
+ "url": "http://localhost:3000/files/679/download?download_frd=1&verifier=BfzTimBCj3Tg430dTx8CW6e6qJQsQIzZJfgcdjd1",
14
+ "size": 13350,
15
+ "created_at": "2014-01-23T17:10:53Z",
16
+ "updated_at": "2014-01-23T17:10:53Z",
17
+ "unlock_at": null,
18
+ "locked": false,
19
+ "hidden": false,
20
+ "lock_at": null,
21
+ "hidden_for_user": false,
22
+ "thumbnail_url": null,
23
+ "locked_for_user": false
24
+ }
25
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "id": 72,
3
+ "parameters": null,
4
+ "progress": 0,
5
+ "status": "running",
6
+ "report": "last_user_access_csv",
7
+ "file_url": null
8
+ }
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bearcat
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.8'
4
+ version: '0.9'
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-01-22 00:00:00.000000000 Z
12
+ date: 2014-01-23 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
@@ -125,6 +125,7 @@ files:
125
125
  - lib/bearcat/client/o_auth2.rb
126
126
  - lib/bearcat/client/outcome_groups.rb
127
127
  - lib/bearcat/client/outcomes.rb
128
+ - lib/bearcat/client/reports.rb
128
129
  - lib/bearcat/client/sections.rb
129
130
  - lib/bearcat/client/users.rb
130
131
  - lib/bearcat/client.rb
@@ -138,6 +139,7 @@ files:
138
139
  - spec/bearcat/client/o_auth2_spec.rb
139
140
  - spec/bearcat/client/outcome_groups_spec.rb
140
141
  - spec/bearcat/client/outcomes_spec.rb
142
+ - spec/bearcat/client/reports_spec.rb
141
143
  - spec/bearcat/client/sections_spec.rb
142
144
  - spec/bearcat/client/users_spec.rb
143
145
  - spec/bearcat/client_spec.rb
@@ -167,8 +169,12 @@ files:
167
169
  - spec/fixtures/outcome_subgroups.json
168
170
  - spec/fixtures/outcomes.json
169
171
  - spec/fixtures/paged_body.json
172
+ - spec/fixtures/report_history.json
173
+ - spec/fixtures/report_list.json
174
+ - spec/fixtures/report_status.json
170
175
  - spec/fixtures/section.json
171
176
  - spec/fixtures/section_enrollments.json
177
+ - spec/fixtures/start_report.json
172
178
  - spec/fixtures/update_outcome.json
173
179
  - spec/fixtures/update_outcome_group.json
174
180
  - spec/fixtures/update_section.json
@@ -207,6 +213,7 @@ test_files:
207
213
  - spec/bearcat/client/o_auth2_spec.rb
208
214
  - spec/bearcat/client/outcome_groups_spec.rb
209
215
  - spec/bearcat/client/outcomes_spec.rb
216
+ - spec/bearcat/client/reports_spec.rb
210
217
  - spec/bearcat/client/sections_spec.rb
211
218
  - spec/bearcat/client/users_spec.rb
212
219
  - spec/bearcat/client_spec.rb
@@ -236,8 +243,12 @@ test_files:
236
243
  - spec/fixtures/outcome_subgroups.json
237
244
  - spec/fixtures/outcomes.json
238
245
  - spec/fixtures/paged_body.json
246
+ - spec/fixtures/report_history.json
247
+ - spec/fixtures/report_list.json
248
+ - spec/fixtures/report_status.json
239
249
  - spec/fixtures/section.json
240
250
  - spec/fixtures/section_enrollments.json
251
+ - spec/fixtures/start_report.json
241
252
  - spec/fixtures/update_outcome.json
242
253
  - spec/fixtures/update_outcome_group.json
243
254
  - spec/fixtures/update_section.json