coalescing_panda 4.0.11 → 4.1.0
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.
- checksums.yaml +4 -4
- data/app/assets/javascripts/coalescing_panda/canvas_batch.js.coffee +7 -5
- data/app/assets/stylesheets/coalescing_panda/application.css.scss +1 -0
- data/app/controllers/coalescing_panda/canvas_batches_controller.rb +0 -10
- data/app/controllers/coalescing_panda/lti_controller.rb +2 -2
- data/app/controllers/coalescing_panda/oauth2_controller.rb +1 -3
- data/app/models/coalescing_panda/assignment.rb +0 -2
- data/app/models/coalescing_panda/canvas_batch.rb +0 -4
- data/app/models/coalescing_panda/course.rb +0 -2
- data/app/models/coalescing_panda/group.rb +2 -3
- data/app/models/coalescing_panda/lti_account.rb +0 -1
- data/app/models/coalescing_panda/user.rb +0 -1
- data/app/models/coalescing_panda/workers/course_miner.rb +58 -141
- data/app/models/concerns/single_table_polymorphic.rb +1 -1
- data/app/views/coalescing_panda/canvas_batches/_canvas_batch.html.haml +10 -22
- data/app/views/coalescing_panda/canvas_batches/_canvas_batch_flash.html.haml +1 -1
- data/config/routes.rb +1 -3
- data/lib/coalescing_panda/controller_helpers.rb +25 -22
- data/lib/coalescing_panda/version.rb +1 -1
- data/spec/dummy/db/development.sqlite3 +0 -0
- data/spec/dummy/db/schema.rb +82 -120
- data/spec/dummy/db/test.sqlite3 +0 -0
- data/spec/dummy/log/development.log +229 -589
- data/spec/dummy/log/test.log +60790 -39979
- data/spec/models/coalescing_panda/assignment_spec.rb +0 -1
- data/spec/models/coalescing_panda/course_spec.rb +0 -5
- data/spec/models/coalescing_panda/workers/course_miner_spec.rb +10 -57
- metadata +57 -80
- data/app/assets/javascripts/bootstrap/bootstrap-datepicker.js +0 -1247
- data/app/assets/javascripts/bootstrap/bootstrap.js +0 -6
- data/app/assets/stylesheets/bootstrap/bootstrap-datepicker.css +0 -449
- data/app/assets/stylesheets/bootstrap/bootstrap-overrides.css.scss +0 -61
- data/app/assets/stylesheets/bootstrap/bootstrap-responsive.css +0 -9
- data/app/assets/stylesheets/bootstrap/bootstrap.css.scss +0 -9
- data/app/assets/stylesheets/coalescing_panda/application.css +0 -16
- data/app/assets/stylesheets/coalescing_panda/oauth2.css +0 -0
- data/app/assets/stylesheets/coalescing_panda/progress.css.scss +0 -97
- data/app/models/coalescing_panda/assignment_group.rb +0 -11
- data/app/models/coalescing_panda/group_category.rb +0 -11
- data/db/migrate/20150506183335_create_coalescing_panda_assignment_groups.rb +0 -18
- data/db/migrate/20150506192717_add_assignment_group_id_to_assignments.rb +0 -5
- data/db/migrate/20150526144713_add_account_to_canvas_batches.rb +0 -5
- data/db/migrate/20150602205257_add_option_to_canvas_batches.rb +0 -5
- data/db/migrate/20150708192717_add_group_moderator_to_group_memberships.rb +0 -5
- data/db/migrate/20150709192717_add_leader_id_to_groups.rb +0 -6
- data/db/migrate/20150714205405_create_coalescing_panda_group_categories.rb +0 -16
- data/db/migrate/20160521205405_add_graded_at_to_coalescing_panda_submissions.rb +0 -5
- data/lib/coalescing_panda/bearcat_uri.rb +0 -20
- data/spec/factories/assignment_groups.rb +0 -14
- data/spec/models/coalescing_panda/assignment_group_spec.rb +0 -32
@@ -7,7 +7,6 @@ RSpec.describe CoalescingPanda::Assignment, :type => :model do
|
|
7
7
|
it 'should belong_to a course' do
|
8
8
|
expect(CoalescingPanda::Assignment.reflect_on_association(:course)).to_not be_nil
|
9
9
|
expect(CoalescingPanda::Assignment.reflect_on_association(:course).macro).to eql(:belongs_to)
|
10
|
-
expect(CoalescingPanda::Assignment.reflect_on_association(:assignment_group).macro).to eql(:belongs_to)
|
11
10
|
end
|
12
11
|
|
13
12
|
it 'should have many submisssions' do
|
@@ -43,11 +43,6 @@ RSpec.describe CoalescingPanda::Course, :type => :model do
|
|
43
43
|
expect(CoalescingPanda::Course.reflect_on_association(:users)).to_not be_nil
|
44
44
|
expect(CoalescingPanda::Course.reflect_on_association(:users).macro).to eql(:has_many)
|
45
45
|
end
|
46
|
-
|
47
|
-
it 'should have many assignment groups' do
|
48
|
-
expect(CoalescingPanda::Course.reflect_on_association(:assignment_groups)).to_not be_nil
|
49
|
-
expect(CoalescingPanda::Course.reflect_on_association(:assignment_groups).macro).to eql(:has_many)
|
50
|
-
end
|
51
46
|
end
|
52
47
|
|
53
48
|
context "validations" do
|
@@ -2,7 +2,7 @@ require 'rails_helper'
|
|
2
2
|
|
3
3
|
RSpec.describe CoalescingPanda::Workers::CourseMiner, :type => :model do
|
4
4
|
let(:course) { FactoryGirl.create(:course) }
|
5
|
-
let(:worker) { CoalescingPanda::Workers::CourseMiner.new(course, [:sections, :users, :enrollments, :assignments, :
|
5
|
+
let(:worker) { CoalescingPanda::Workers::CourseMiner.new(course, [:sections, :users, :enrollments, :assignments, :submissions, :groups, :group_memberships]) }
|
6
6
|
let(:users_response) {[
|
7
7
|
{"id"=>1, "name"=>"teacher@test.com", "sortable_name"=>"teacher@test.com", "short_name"=>"teacher@test.com", "login_id"=>"teacher@test.com"},
|
8
8
|
{"id"=>2, "name"=>"student1@test.com", "sortable_name"=>"student1@test.com", "short_name"=>"student1@test.com", "login_id"=>"student1@test.com"},
|
@@ -17,7 +17,7 @@ RSpec.describe CoalescingPanda::Workers::CourseMiner, :type => :model do
|
|
17
17
|
{"associated_user_id"=>nil, "course_id"=>1, "course_section_id"=>1, "created_at"=>"2014-11-07T21:18:17Z", "end_at"=>nil, "id"=>3, "limit_privileges_to_course_section"=>false, "root_account_id"=>1, "start_at"=>nil, "type"=>"StudentEnrollment", "updated_at"=>"2014-11-20T23:18:21Z", "user_id"=>3, "enrollment_state"=>"active", "role"=>"StudentEnrollment", "role_id"=>3, "last_activity_at"=>"2014-11-10T22:10:15Z", "total_activity_time"=>921, "sis_import_id"=>nil, "grades"=>{"html_url"=>"http://localhost:3000/courses/1/grades/3", "current_score"=>80, "final_score"=>80, "current_grade"=>nil, "final_grade"=>nil}, "sis_course_id"=>"DOCSTUCOMM", "course_integration_id"=>nil, "sis_section_id"=>nil, "section_integration_id"=>nil, "html_url"=>"http://localhost:3000/courses/1/users/3", "user"=>{"id"=>3, "name"=>"student2@test.com", "sortable_name"=>"student2@test.com", "short_name"=>"student2@test.com", "login_id"=>"student2@test.com"}},
|
18
18
|
]}
|
19
19
|
let(:assignments_response) {[
|
20
|
-
{"assignment_group_id"=>1, "automatic_peer_reviews"=>false, "created_at"=>"2014-11-18T18:04:38Z", "description"=>"<p>What is your name?</p>", "due_at"=>nil, "grade_group_students_individually"=>false, "grading_standard_id"=>nil, "grading_type"=>"points", "group_category_id"=>
|
20
|
+
{"assignment_group_id"=>1, "automatic_peer_reviews"=>false, "created_at"=>"2014-11-18T18:04:38Z", "description"=>"<p>What is your name?</p>", "due_at"=>nil, "grade_group_students_individually"=>false, "grading_standard_id"=>nil, "grading_type"=>"points", "group_category_id"=>nil, "id"=>1, "lock_at"=>nil, "peer_reviews"=>false, "points_possible"=>100, "position"=>1, "post_to_sis"=>true, "unlock_at"=>nil, "updated_at"=>"2014-11-18T18:04:42Z", "course_id"=>1, "name"=>"Gimme your name", "submission_types"=>["online_text_entry"], "has_submitted_submissions"=>false, "muted"=>false, "html_url"=>"http://localhost:3000/courses/1/assignments/1", "needs_grading_count"=>0, "integration_id"=>nil, "integration_data"=>{}, "published"=>true, "unpublishable"=>true, "locked_for_user"=>false},
|
21
21
|
{"assignment_group_id"=>1, "automatic_peer_reviews"=>false, "created_at"=>"2014-11-18T19:10:28Z", "description"=>"<p>What is your Favorite Color?</p>", "due_at"=>nil, "grade_group_students_individually"=>false, "grading_standard_id"=>nil, "grading_type"=>"points", "group_category_id"=>nil, "id"=>2, "lock_at"=>nil, "peer_reviews"=>false, "points_possible"=>100, "position"=>2, "post_to_sis"=>true, "unlock_at"=>nil, "updated_at"=>"2014-11-18T19:10:30Z", "course_id"=>1, "name"=>"Favorite Color", "submission_types"=>["online_text_entry"], "has_submitted_submissions"=>false, "muted"=>false, "html_url"=>"http://localhost:3000/courses/1/assignments/2", "needs_grading_count"=>0, "integration_id"=>nil, "integration_data"=>{}, "published"=>true, "unpublishable"=>true, "locked_for_user"=>false}
|
22
22
|
]}
|
23
23
|
let(:submissions_response1) {[
|
@@ -28,19 +28,13 @@ RSpec.describe CoalescingPanda::Workers::CourseMiner, :type => :model do
|
|
28
28
|
{"assignment_id"=>2, "attempt"=>nil, "body"=>nil, "grade"=>"90", "grade_matches_current_submission"=>true, "graded_at"=>"2014-11-20T23:18:21Z", "grader_id"=>1, "id"=>4, "score"=>90, "submission_type"=>nil, "submitted_at"=>nil, "url"=>nil, "user_id"=>3, "workflow_state"=>"graded", "late"=>false, "preview_url"=>"http://localhost:3000/courses/1/assignments/2/submissions/3?preview=1"},
|
29
29
|
{"assignment_id"=>2, "attempt"=>nil, "body"=>nil, "grade"=>"80", "grade_matches_current_submission"=>true, "graded_at"=>"2014-11-20T23:18:17Z", "grader_id"=>1, "id"=>2, "score"=>80, "submission_type"=>nil, "submitted_at"=>nil, "url"=>nil, "user_id"=>2, "workflow_state"=>"graded", "late"=>false, "preview_url"=>"http://localhost:3000/courses/1/assignments/2/submissions/2?preview=1"}
|
30
30
|
]}
|
31
|
-
let(:group_categories_response){[
|
32
|
-
{"auto_leader" => "first", "group_limit" => nil, "id" => 1, "name" => "mark red", "role" => nil, "self_signup" => nil, "context_type" => "Course", "course_id" => 1, "protected" => false, "allows_multiple_memberships" => false, "is_member" => false}
|
33
|
-
]}
|
34
31
|
let(:groups_response){[
|
35
|
-
{"description"=> nil, "group_category_id"=>
|
36
|
-
{"description"=> nil, "group_category_id"=>
|
32
|
+
{"description"=> nil, "group_category_id"=> 3, "id"=> 4, "is_public"=> false, "join_level"=> "invitation_only", "max_membership"=> 5, "name"=> "Student Group 1", "members_count"=> 2, "storage_quota_mb"=> 50, "context_type"=> "CoalescingPanda::Course", "course_id"=> 1, "avatar_url"=> nil, "role"=> nil, "leader"=> nil},
|
33
|
+
{"description"=> nil, "group_category_id"=> 3, "id"=> 5, "is_public"=> false, "join_level"=> "invitation_only", "max_membership"=> 5, "name"=> "Student Group 2", "members_count"=> 2, "storage_quota_mb"=> 50, "context_type"=> "CoalescingPanda::Course", "course_id"=> 1, "avatar_url"=> nil, "role"=> nil, "leader"=> nil}
|
37
34
|
]}
|
38
35
|
let(:membership_response){[
|
39
|
-
{"group_id"=> 4, "id"=> 13, "moderator"=>
|
40
|
-
{"group_id"=> 4, "id"=> 14, "moderator"=>
|
41
|
-
]}
|
42
|
-
let(:assignment_groups_response) {[
|
43
|
-
{"group_weight" => 500, "id" => 3, "name" => "Assignments", "position" => 3, "rules" => {} }
|
36
|
+
{"group_id"=> 4, "id"=> 13, "moderator"=> false, "user_id"=> 2, "workflow_state"=> "accepted"},
|
37
|
+
{"group_id"=> 4, "id"=> 14, "moderator"=> false, "user_id"=> 3, "workflow_state"=> "accepted"}
|
44
38
|
]}
|
45
39
|
|
46
40
|
before do
|
@@ -53,14 +47,13 @@ RSpec.describe CoalescingPanda::Workers::CourseMiner, :type => :model do
|
|
53
47
|
Bearcat::Client.any_instance.stub(:get_course_submissions).with("1", "2") { double(Bearcat::ApiArray, :all_pages! => submissions_response2) }
|
54
48
|
Bearcat::Client.any_instance.stub(:course_groups) { double(Bearcat::ApiArray, :all_pages! => groups_response) }
|
55
49
|
Bearcat::Client.any_instance.stub(:list_group_memberships) { double(Bearcat::ApiArray, :all_pages! => membership_response) }
|
56
|
-
Bearcat::Client.any_instance.stub(:list_assignment_groups) { double(Bearcat::ApiArray, :all_pages! => assignment_groups_response) }
|
57
50
|
end
|
58
51
|
|
59
52
|
describe '#initialize' do
|
60
53
|
it 'should set instance variables a user' do
|
61
54
|
expect(worker.course).to eq course
|
62
55
|
expect(worker.account).to eq course.account
|
63
|
-
expect(worker.options).to eq [:sections, :users, :enrollments, :assignments, :
|
56
|
+
expect(worker.options).to eq [:sections, :users, :enrollments, :assignments, :submissions, :groups, :group_memberships]
|
64
57
|
expect(worker.batch).to eq CoalescingPanda::CanvasBatch.last
|
65
58
|
end
|
66
59
|
end
|
@@ -100,24 +93,10 @@ RSpec.describe CoalescingPanda::Workers::CourseMiner, :type => :model do
|
|
100
93
|
expect(CoalescingPanda::Enrollment.last.workflow_state).to eq "active"
|
101
94
|
end
|
102
95
|
|
103
|
-
it 'creates group categories' do
|
104
|
-
worker.sync_group_categories(group_categories_response)
|
105
|
-
expect(CoalescingPanda::GroupCategory.count).to eq 1
|
106
|
-
end
|
107
|
-
|
108
96
|
it 'creates assignments' do
|
109
97
|
CoalescingPanda::Assignment.destroy_all
|
110
|
-
worker.sync_group_categories(group_categories_response)
|
111
98
|
worker.sync_assignments(assignments_response)
|
112
99
|
expect(CoalescingPanda::Assignment.count).to eq 2
|
113
|
-
expect(CoalescingPanda::Assignment.find_by(canvas_assignment_id: 1).group_category).to_not be_nil
|
114
|
-
end
|
115
|
-
|
116
|
-
it 'creates assignment groups' do
|
117
|
-
CoalescingPanda::AssignmentGroup.destroy_all
|
118
|
-
expect(CoalescingPanda::AssignmentGroup.count).to eq 0
|
119
|
-
worker.sync_assignment_groups(assignment_groups_response)
|
120
|
-
expect(CoalescingPanda::AssignmentGroup.count).to eq 1
|
121
100
|
end
|
122
101
|
|
123
102
|
it 'creates submissions' do
|
@@ -133,20 +112,8 @@ RSpec.describe CoalescingPanda::Workers::CourseMiner, :type => :model do
|
|
133
112
|
|
134
113
|
it 'creates groups' do
|
135
114
|
CoalescingPanda::Group.destroy_all
|
136
|
-
worker.sync_group_categories(group_categories_response)
|
137
115
|
worker.sync_groups(groups_response)
|
138
116
|
expect(CoalescingPanda::Group.count).to eq 2
|
139
|
-
expect(CoalescingPanda::Group.find_by(canvas_group_id: 4)).to_not be_nil
|
140
|
-
end
|
141
|
-
|
142
|
-
it 'creates groups with leaders' do
|
143
|
-
CoalescingPanda::Group.destroy_all
|
144
|
-
worker.sync_sections(sections_response)
|
145
|
-
worker.sync_users(users_response)
|
146
|
-
worker.sync_enrollments(enrollments_response)
|
147
|
-
worker.sync_groups(groups_response)
|
148
|
-
expect(CoalescingPanda::Group.count).to eq 2
|
149
|
-
expect(CoalescingPanda::Group.where(canvas_group_id: "4").first.leader).to_not be_nil
|
150
117
|
end
|
151
118
|
|
152
119
|
it 'creates group memberships' do
|
@@ -197,23 +164,9 @@ RSpec.describe CoalescingPanda::Workers::CourseMiner, :type => :model do
|
|
197
164
|
end
|
198
165
|
|
199
166
|
it 'returns group membership attributes' do
|
200
|
-
attributes = {"group_id"=> 4,"id"=> 13,"moderator"=>
|
167
|
+
attributes = {"group_id"=> 4,"id"=> 13,"moderator"=> false,"user_id"=> 2,"workflow_state"=> "accepted"}
|
201
168
|
record = CoalescingPanda::GroupMembership.new
|
202
|
-
expect(worker.standard_attributes(record, attributes)).to eq({"
|
203
|
-
end
|
204
|
-
end
|
205
|
-
|
206
|
-
describe "#setup_batch" do
|
207
|
-
it 'should return a new batch if none are in progress' do
|
208
|
-
batch = worker.setup_batch
|
209
|
-
expect(batch.status).to eq 'Queued'
|
210
|
-
end
|
211
|
-
|
212
|
-
it 'should return a started batch if one exists' do
|
213
|
-
batch = worker.setup_batch
|
214
|
-
batch.update_attributes(status: 'Started')
|
215
|
-
batch = worker.setup_batch
|
216
|
-
expect(batch.status).to eq 'Started'
|
169
|
+
expect(worker.standard_attributes(record, attributes)).to eq({"workflow_state" => "accepted"})
|
217
170
|
end
|
218
171
|
end
|
219
|
-
end
|
172
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: coalescing_panda
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.0
|
4
|
+
version: 4.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nathan Mills
|
@@ -10,36 +10,36 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date:
|
13
|
+
date: 2015-05-04 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rails
|
17
17
|
requirement: !ruby/object:Gem::Requirement
|
18
18
|
requirements:
|
19
|
-
- -
|
19
|
+
- - ~>
|
20
20
|
- !ruby/object:Gem::Version
|
21
21
|
version: 4.2.1
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
25
|
requirements:
|
26
|
-
- -
|
26
|
+
- - ~>
|
27
27
|
- !ruby/object:Gem::Version
|
28
28
|
version: 4.2.1
|
29
29
|
- !ruby/object:Gem::Dependency
|
30
30
|
name: bearcat
|
31
31
|
requirement: !ruby/object:Gem::Requirement
|
32
32
|
requirements:
|
33
|
-
- - '
|
33
|
+
- - '>='
|
34
34
|
- !ruby/object:Gem::Version
|
35
|
-
version:
|
35
|
+
version: '0'
|
36
36
|
type: :runtime
|
37
37
|
prerelease: false
|
38
38
|
version_requirements: !ruby/object:Gem::Requirement
|
39
39
|
requirements:
|
40
|
-
- - '
|
40
|
+
- - '>='
|
41
41
|
- !ruby/object:Gem::Version
|
42
|
-
version:
|
42
|
+
version: '0'
|
43
43
|
- !ruby/object:Gem::Dependency
|
44
44
|
name: macaddr
|
45
45
|
requirement: !ruby/object:Gem::Requirement
|
@@ -58,252 +58,252 @@ dependencies:
|
|
58
58
|
name: ims-lti
|
59
59
|
requirement: !ruby/object:Gem::Requirement
|
60
60
|
requirements:
|
61
|
-
- -
|
61
|
+
- - '>='
|
62
62
|
- !ruby/object:Gem::Version
|
63
63
|
version: '0'
|
64
64
|
type: :runtime
|
65
65
|
prerelease: false
|
66
66
|
version_requirements: !ruby/object:Gem::Requirement
|
67
67
|
requirements:
|
68
|
-
- -
|
68
|
+
- - '>='
|
69
69
|
- !ruby/object:Gem::Version
|
70
70
|
version: '0'
|
71
71
|
- !ruby/object:Gem::Dependency
|
72
72
|
name: haml-rails
|
73
73
|
requirement: !ruby/object:Gem::Requirement
|
74
74
|
requirements:
|
75
|
-
- -
|
75
|
+
- - '>='
|
76
76
|
- !ruby/object:Gem::Version
|
77
77
|
version: '0'
|
78
78
|
type: :runtime
|
79
79
|
prerelease: false
|
80
80
|
version_requirements: !ruby/object:Gem::Requirement
|
81
81
|
requirements:
|
82
|
-
- -
|
82
|
+
- - '>='
|
83
83
|
- !ruby/object:Gem::Version
|
84
84
|
version: '0'
|
85
85
|
- !ruby/object:Gem::Dependency
|
86
86
|
name: sass-rails
|
87
87
|
requirement: !ruby/object:Gem::Requirement
|
88
88
|
requirements:
|
89
|
-
- -
|
89
|
+
- - '>='
|
90
90
|
- !ruby/object:Gem::Version
|
91
|
-
version:
|
91
|
+
version: '3.2'
|
92
92
|
type: :runtime
|
93
93
|
prerelease: false
|
94
94
|
version_requirements: !ruby/object:Gem::Requirement
|
95
95
|
requirements:
|
96
|
-
- -
|
96
|
+
- - '>='
|
97
97
|
- !ruby/object:Gem::Version
|
98
|
-
version:
|
98
|
+
version: '3.2'
|
99
99
|
- !ruby/object:Gem::Dependency
|
100
100
|
name: jquery-rails
|
101
101
|
requirement: !ruby/object:Gem::Requirement
|
102
102
|
requirements:
|
103
|
-
- -
|
103
|
+
- - '>='
|
104
104
|
- !ruby/object:Gem::Version
|
105
105
|
version: '0'
|
106
106
|
type: :runtime
|
107
107
|
prerelease: false
|
108
108
|
version_requirements: !ruby/object:Gem::Requirement
|
109
109
|
requirements:
|
110
|
-
- -
|
110
|
+
- - '>='
|
111
111
|
- !ruby/object:Gem::Version
|
112
112
|
version: '0'
|
113
113
|
- !ruby/object:Gem::Dependency
|
114
114
|
name: coffee-rails
|
115
115
|
requirement: !ruby/object:Gem::Requirement
|
116
116
|
requirements:
|
117
|
-
- -
|
117
|
+
- - '>='
|
118
118
|
- !ruby/object:Gem::Version
|
119
|
-
version:
|
119
|
+
version: '0'
|
120
120
|
type: :runtime
|
121
121
|
prerelease: false
|
122
122
|
version_requirements: !ruby/object:Gem::Requirement
|
123
123
|
requirements:
|
124
|
-
- -
|
124
|
+
- - '>='
|
125
125
|
- !ruby/object:Gem::Version
|
126
|
-
version:
|
126
|
+
version: '0'
|
127
127
|
- !ruby/object:Gem::Dependency
|
128
128
|
name: p3p
|
129
129
|
requirement: !ruby/object:Gem::Requirement
|
130
130
|
requirements:
|
131
|
-
- -
|
131
|
+
- - '>='
|
132
132
|
- !ruby/object:Gem::Version
|
133
133
|
version: '0'
|
134
134
|
type: :runtime
|
135
135
|
prerelease: false
|
136
136
|
version_requirements: !ruby/object:Gem::Requirement
|
137
137
|
requirements:
|
138
|
-
- -
|
138
|
+
- - '>='
|
139
139
|
- !ruby/object:Gem::Version
|
140
140
|
version: '0'
|
141
141
|
- !ruby/object:Gem::Dependency
|
142
142
|
name: useragent
|
143
143
|
requirement: !ruby/object:Gem::Requirement
|
144
144
|
requirements:
|
145
|
-
- -
|
145
|
+
- - '>='
|
146
146
|
- !ruby/object:Gem::Version
|
147
147
|
version: '0'
|
148
148
|
type: :runtime
|
149
149
|
prerelease: false
|
150
150
|
version_requirements: !ruby/object:Gem::Requirement
|
151
151
|
requirements:
|
152
|
-
- -
|
152
|
+
- - '>='
|
153
153
|
- !ruby/object:Gem::Version
|
154
154
|
version: '0'
|
155
155
|
- !ruby/object:Gem::Dependency
|
156
156
|
name: delayed_job_active_record
|
157
157
|
requirement: !ruby/object:Gem::Requirement
|
158
158
|
requirements:
|
159
|
-
- -
|
159
|
+
- - '>='
|
160
160
|
- !ruby/object:Gem::Version
|
161
161
|
version: '0'
|
162
162
|
type: :runtime
|
163
163
|
prerelease: false
|
164
164
|
version_requirements: !ruby/object:Gem::Requirement
|
165
165
|
requirements:
|
166
|
-
- -
|
166
|
+
- - '>='
|
167
167
|
- !ruby/object:Gem::Version
|
168
168
|
version: '0'
|
169
169
|
- !ruby/object:Gem::Dependency
|
170
170
|
name: sqlite3
|
171
171
|
requirement: !ruby/object:Gem::Requirement
|
172
172
|
requirements:
|
173
|
-
- -
|
173
|
+
- - '>='
|
174
174
|
- !ruby/object:Gem::Version
|
175
175
|
version: '0'
|
176
176
|
type: :development
|
177
177
|
prerelease: false
|
178
178
|
version_requirements: !ruby/object:Gem::Requirement
|
179
179
|
requirements:
|
180
|
-
- -
|
180
|
+
- - '>='
|
181
181
|
- !ruby/object:Gem::Version
|
182
182
|
version: '0'
|
183
183
|
- !ruby/object:Gem::Dependency
|
184
184
|
name: rspec-rails
|
185
185
|
requirement: !ruby/object:Gem::Requirement
|
186
186
|
requirements:
|
187
|
-
- -
|
187
|
+
- - '>='
|
188
188
|
- !ruby/object:Gem::Version
|
189
189
|
version: '0'
|
190
190
|
type: :development
|
191
191
|
prerelease: false
|
192
192
|
version_requirements: !ruby/object:Gem::Requirement
|
193
193
|
requirements:
|
194
|
-
- -
|
194
|
+
- - '>='
|
195
195
|
- !ruby/object:Gem::Version
|
196
196
|
version: '0'
|
197
197
|
- !ruby/object:Gem::Dependency
|
198
198
|
name: factory_girl_rails
|
199
199
|
requirement: !ruby/object:Gem::Requirement
|
200
200
|
requirements:
|
201
|
-
- -
|
201
|
+
- - '>='
|
202
202
|
- !ruby/object:Gem::Version
|
203
203
|
version: '0'
|
204
204
|
type: :development
|
205
205
|
prerelease: false
|
206
206
|
version_requirements: !ruby/object:Gem::Requirement
|
207
207
|
requirements:
|
208
|
-
- -
|
208
|
+
- - '>='
|
209
209
|
- !ruby/object:Gem::Version
|
210
210
|
version: '0'
|
211
211
|
- !ruby/object:Gem::Dependency
|
212
212
|
name: shoulda-matchers
|
213
213
|
requirement: !ruby/object:Gem::Requirement
|
214
214
|
requirements:
|
215
|
-
- -
|
215
|
+
- - '>='
|
216
216
|
- !ruby/object:Gem::Version
|
217
217
|
version: '0'
|
218
218
|
type: :development
|
219
219
|
prerelease: false
|
220
220
|
version_requirements: !ruby/object:Gem::Requirement
|
221
221
|
requirements:
|
222
|
-
- -
|
222
|
+
- - '>='
|
223
223
|
- !ruby/object:Gem::Version
|
224
224
|
version: '0'
|
225
225
|
- !ruby/object:Gem::Dependency
|
226
226
|
name: nokogiri
|
227
227
|
requirement: !ruby/object:Gem::Requirement
|
228
228
|
requirements:
|
229
|
-
- -
|
229
|
+
- - '>='
|
230
230
|
- !ruby/object:Gem::Version
|
231
231
|
version: '0'
|
232
232
|
type: :development
|
233
233
|
prerelease: false
|
234
234
|
version_requirements: !ruby/object:Gem::Requirement
|
235
235
|
requirements:
|
236
|
-
- -
|
236
|
+
- - '>='
|
237
237
|
- !ruby/object:Gem::Version
|
238
238
|
version: '0'
|
239
239
|
- !ruby/object:Gem::Dependency
|
240
240
|
name: simplecov
|
241
241
|
requirement: !ruby/object:Gem::Requirement
|
242
242
|
requirements:
|
243
|
-
- -
|
243
|
+
- - '>='
|
244
244
|
- !ruby/object:Gem::Version
|
245
245
|
version: '0'
|
246
246
|
type: :development
|
247
247
|
prerelease: false
|
248
248
|
version_requirements: !ruby/object:Gem::Requirement
|
249
249
|
requirements:
|
250
|
-
- -
|
250
|
+
- - '>='
|
251
251
|
- !ruby/object:Gem::Version
|
252
252
|
version: '0'
|
253
253
|
- !ruby/object:Gem::Dependency
|
254
254
|
name: byebug
|
255
255
|
requirement: !ruby/object:Gem::Requirement
|
256
256
|
requirements:
|
257
|
-
- -
|
257
|
+
- - '>='
|
258
258
|
- !ruby/object:Gem::Version
|
259
259
|
version: '0'
|
260
260
|
type: :development
|
261
261
|
prerelease: false
|
262
262
|
version_requirements: !ruby/object:Gem::Requirement
|
263
263
|
requirements:
|
264
|
-
- -
|
264
|
+
- - '>='
|
265
265
|
- !ruby/object:Gem::Version
|
266
266
|
version: '0'
|
267
267
|
- !ruby/object:Gem::Dependency
|
268
268
|
name: pry
|
269
269
|
requirement: !ruby/object:Gem::Requirement
|
270
270
|
requirements:
|
271
|
-
- -
|
271
|
+
- - '>='
|
272
272
|
- !ruby/object:Gem::Version
|
273
273
|
version: '0'
|
274
274
|
type: :development
|
275
275
|
prerelease: false
|
276
276
|
version_requirements: !ruby/object:Gem::Requirement
|
277
277
|
requirements:
|
278
|
-
- -
|
278
|
+
- - '>='
|
279
279
|
- !ruby/object:Gem::Version
|
280
280
|
version: '0'
|
281
281
|
- !ruby/object:Gem::Dependency
|
282
282
|
name: webmock
|
283
283
|
requirement: !ruby/object:Gem::Requirement
|
284
284
|
requirements:
|
285
|
-
- -
|
285
|
+
- - '>='
|
286
286
|
- !ruby/object:Gem::Version
|
287
287
|
version: '0'
|
288
288
|
type: :development
|
289
289
|
prerelease: false
|
290
290
|
version_requirements: !ruby/object:Gem::Requirement
|
291
291
|
requirements:
|
292
|
-
- -
|
292
|
+
- - '>='
|
293
293
|
- !ruby/object:Gem::Version
|
294
294
|
version: '0'
|
295
295
|
- !ruby/object:Gem::Dependency
|
296
296
|
name: lol_dba
|
297
297
|
requirement: !ruby/object:Gem::Requirement
|
298
298
|
requirements:
|
299
|
-
- -
|
299
|
+
- - '>='
|
300
300
|
- !ruby/object:Gem::Version
|
301
301
|
version: '0'
|
302
302
|
type: :development
|
303
303
|
prerelease: false
|
304
304
|
version_requirements: !ruby/object:Gem::Requirement
|
305
305
|
requirements:
|
306
|
-
- -
|
306
|
+
- - '>='
|
307
307
|
- !ruby/object:Gem::Version
|
308
308
|
version: '0'
|
309
309
|
description:
|
@@ -315,35 +315,24 @@ executables: []
|
|
315
315
|
extensions: []
|
316
316
|
extra_rdoc_files: []
|
317
317
|
files:
|
318
|
-
- Rakefile
|
319
318
|
- app/assets/images/bootstrap/glyphicons-halflings-white.png
|
320
319
|
- app/assets/images/bootstrap/glyphicons-halflings.png
|
321
|
-
- app/assets/javascripts/bootstrap/bootstrap-datepicker.js
|
322
|
-
- app/assets/javascripts/bootstrap/bootstrap.js
|
323
320
|
- app/assets/javascripts/coalescing_panda/application.js
|
324
321
|
- app/assets/javascripts/coalescing_panda/canvas_batch.js.coffee
|
325
322
|
- app/assets/javascripts/coalescing_panda/oauth2.js.coffee
|
326
|
-
- app/assets/stylesheets/
|
327
|
-
- app/assets/stylesheets/bootstrap/bootstrap-overrides.css.scss
|
328
|
-
- app/assets/stylesheets/bootstrap/bootstrap-responsive.css
|
329
|
-
- app/assets/stylesheets/bootstrap/bootstrap.css.scss
|
330
|
-
- app/assets/stylesheets/coalescing_panda/application.css
|
323
|
+
- app/assets/stylesheets/coalescing_panda/application.css.scss
|
331
324
|
- app/assets/stylesheets/coalescing_panda/launch.css.scss
|
332
|
-
- app/assets/stylesheets/coalescing_panda/oauth2.css
|
333
|
-
- app/assets/stylesheets/coalescing_panda/progress.css.scss
|
334
325
|
- app/controllers/coalescing_panda/application_controller.rb
|
335
326
|
- app/controllers/coalescing_panda/canvas_batches_controller.rb
|
336
327
|
- app/controllers/coalescing_panda/lti_controller.rb
|
337
328
|
- app/controllers/coalescing_panda/oauth2_controller.rb
|
338
329
|
- app/helpers/coalescing_panda/canvas_batches_helper.rb
|
339
330
|
- app/models/coalescing_panda/assignment.rb
|
340
|
-
- app/models/coalescing_panda/assignment_group.rb
|
341
331
|
- app/models/coalescing_panda/canvas_api_auth.rb
|
342
332
|
- app/models/coalescing_panda/canvas_batch.rb
|
343
333
|
- app/models/coalescing_panda/course.rb
|
344
334
|
- app/models/coalescing_panda/enrollment.rb
|
345
335
|
- app/models/coalescing_panda/group.rb
|
346
|
-
- app/models/coalescing_panda/group_category.rb
|
347
336
|
- app/models/coalescing_panda/group_membership.rb
|
348
337
|
- app/models/coalescing_panda/lti_account.rb
|
349
338
|
- app/models/coalescing_panda/lti_nonce.rb
|
@@ -382,26 +371,16 @@ files:
|
|
382
371
|
- db/migrate/20150107205405_create_coalescing_panda_groups.rb
|
383
372
|
- db/migrate/20150107205413_create_coalescing_panda_group_memberships.rb
|
384
373
|
- db/migrate/20150210180516_add_context_to_canvas_batch.rb
|
385
|
-
- db/migrate/20150506183335_create_coalescing_panda_assignment_groups.rb
|
386
|
-
- db/migrate/20150506192717_add_assignment_group_id_to_assignments.rb
|
387
|
-
- db/migrate/20150526144713_add_account_to_canvas_batches.rb
|
388
|
-
- db/migrate/20150602205257_add_option_to_canvas_batches.rb
|
389
|
-
- db/migrate/20150708192717_add_group_moderator_to_group_memberships.rb
|
390
|
-
- db/migrate/20150709192717_add_leader_id_to_groups.rb
|
391
|
-
- db/migrate/20150714205405_create_coalescing_panda_group_categories.rb
|
392
|
-
- db/migrate/20160521205405_add_graded_at_to_coalescing_panda_submissions.rb
|
393
|
-
- lib/coalescing_panda.rb
|
394
|
-
- lib/coalescing_panda/bearcat_uri.rb
|
395
374
|
- lib/coalescing_panda/controller_helpers.rb
|
396
375
|
- lib/coalescing_panda/engine.rb
|
397
376
|
- lib/coalescing_panda/route_helpers.rb
|
398
377
|
- lib/coalescing_panda/version.rb
|
378
|
+
- lib/coalescing_panda.rb
|
399
379
|
- lib/tasks/coalescing_panda_tasks.rake
|
380
|
+
- Rakefile
|
400
381
|
- spec/controllers/coalescing_panda/canvas_batches_controller_spec.rb
|
401
382
|
- spec/controllers/coalescing_panda/lti_controller_spec.rb
|
402
383
|
- spec/controllers/coalescing_panda/oauth2_controller_spec.rb
|
403
|
-
- spec/dummy/README.rdoc
|
404
|
-
- spec/dummy/Rakefile
|
405
384
|
- spec/dummy/app/assets/javascripts/application.js
|
406
385
|
- spec/dummy/app/assets/stylesheets/application.css
|
407
386
|
- spec/dummy/app/controllers/application_controller.rb
|
@@ -410,7 +389,6 @@ files:
|
|
410
389
|
- spec/dummy/bin/bundle
|
411
390
|
- spec/dummy/bin/rails
|
412
391
|
- spec/dummy/bin/rake
|
413
|
-
- spec/dummy/config.ru
|
414
392
|
- spec/dummy/config/application.rb
|
415
393
|
- spec/dummy/config/boot.rb
|
416
394
|
- spec/dummy/config/database.yml
|
@@ -428,6 +406,7 @@ files:
|
|
428
406
|
- spec/dummy/config/initializers/wrap_parameters.rb
|
429
407
|
- spec/dummy/config/locales/en.yml
|
430
408
|
- spec/dummy/config/routes.rb
|
409
|
+
- spec/dummy/config.ru
|
431
410
|
- spec/dummy/db/development.sqlite3
|
432
411
|
- spec/dummy/db/schema.rb
|
433
412
|
- spec/dummy/db/test.sqlite3
|
@@ -437,8 +416,9 @@ files:
|
|
437
416
|
- spec/dummy/public/422.html
|
438
417
|
- spec/dummy/public/500.html
|
439
418
|
- spec/dummy/public/favicon.ico
|
419
|
+
- spec/dummy/Rakefile
|
420
|
+
- spec/dummy/README.rdoc
|
440
421
|
- spec/factories/accounts.rb
|
441
|
-
- spec/factories/assignment_groups.rb
|
442
422
|
- spec/factories/assignments.rb
|
443
423
|
- spec/factories/canvas_batches.rb
|
444
424
|
- spec/factories/courses.rb
|
@@ -447,7 +427,6 @@ files:
|
|
447
427
|
- spec/factories/submissions.rb
|
448
428
|
- spec/factories/terms.rb
|
449
429
|
- spec/factories/users.rb
|
450
|
-
- spec/models/coalescing_panda/assignment_group_spec.rb
|
451
430
|
- spec/models/coalescing_panda/assignment_spec.rb
|
452
431
|
- spec/models/coalescing_panda/canvas_api_auth_spec.rb
|
453
432
|
- spec/models/coalescing_panda/canvas_batch_spec.rb
|
@@ -473,17 +452,17 @@ require_paths:
|
|
473
452
|
- lib
|
474
453
|
required_ruby_version: !ruby/object:Gem::Requirement
|
475
454
|
requirements:
|
476
|
-
- -
|
455
|
+
- - '>='
|
477
456
|
- !ruby/object:Gem::Version
|
478
457
|
version: '0'
|
479
458
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
480
459
|
requirements:
|
481
|
-
- -
|
460
|
+
- - '>='
|
482
461
|
- !ruby/object:Gem::Version
|
483
462
|
version: '0'
|
484
463
|
requirements: []
|
485
464
|
rubyforge_project:
|
486
|
-
rubygems_version: 2.
|
465
|
+
rubygems_version: 2.0.14
|
487
466
|
signing_key:
|
488
467
|
specification_version: 4
|
489
468
|
summary: Canvas LTI and OAUTH2 mountable engine
|
@@ -529,7 +508,6 @@ test_files:
|
|
529
508
|
- spec/dummy/Rakefile
|
530
509
|
- spec/dummy/README.rdoc
|
531
510
|
- spec/factories/accounts.rb
|
532
|
-
- spec/factories/assignment_groups.rb
|
533
511
|
- spec/factories/assignments.rb
|
534
512
|
- spec/factories/canvas_batches.rb
|
535
513
|
- spec/factories/courses.rb
|
@@ -538,7 +516,6 @@ test_files:
|
|
538
516
|
- spec/factories/submissions.rb
|
539
517
|
- spec/factories/terms.rb
|
540
518
|
- spec/factories/users.rb
|
541
|
-
- spec/models/coalescing_panda/assignment_group_spec.rb
|
542
519
|
- spec/models/coalescing_panda/assignment_spec.rb
|
543
520
|
- spec/models/coalescing_panda/canvas_api_auth_spec.rb
|
544
521
|
- spec/models/coalescing_panda/canvas_batch_spec.rb
|