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.
Files changed (50) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/coalescing_panda/canvas_batch.js.coffee +7 -5
  3. data/app/assets/stylesheets/coalescing_panda/application.css.scss +1 -0
  4. data/app/controllers/coalescing_panda/canvas_batches_controller.rb +0 -10
  5. data/app/controllers/coalescing_panda/lti_controller.rb +2 -2
  6. data/app/controllers/coalescing_panda/oauth2_controller.rb +1 -3
  7. data/app/models/coalescing_panda/assignment.rb +0 -2
  8. data/app/models/coalescing_panda/canvas_batch.rb +0 -4
  9. data/app/models/coalescing_panda/course.rb +0 -2
  10. data/app/models/coalescing_panda/group.rb +2 -3
  11. data/app/models/coalescing_panda/lti_account.rb +0 -1
  12. data/app/models/coalescing_panda/user.rb +0 -1
  13. data/app/models/coalescing_panda/workers/course_miner.rb +58 -141
  14. data/app/models/concerns/single_table_polymorphic.rb +1 -1
  15. data/app/views/coalescing_panda/canvas_batches/_canvas_batch.html.haml +10 -22
  16. data/app/views/coalescing_panda/canvas_batches/_canvas_batch_flash.html.haml +1 -1
  17. data/config/routes.rb +1 -3
  18. data/lib/coalescing_panda/controller_helpers.rb +25 -22
  19. data/lib/coalescing_panda/version.rb +1 -1
  20. data/spec/dummy/db/development.sqlite3 +0 -0
  21. data/spec/dummy/db/schema.rb +82 -120
  22. data/spec/dummy/db/test.sqlite3 +0 -0
  23. data/spec/dummy/log/development.log +229 -589
  24. data/spec/dummy/log/test.log +60790 -39979
  25. data/spec/models/coalescing_panda/assignment_spec.rb +0 -1
  26. data/spec/models/coalescing_panda/course_spec.rb +0 -5
  27. data/spec/models/coalescing_panda/workers/course_miner_spec.rb +10 -57
  28. metadata +57 -80
  29. data/app/assets/javascripts/bootstrap/bootstrap-datepicker.js +0 -1247
  30. data/app/assets/javascripts/bootstrap/bootstrap.js +0 -6
  31. data/app/assets/stylesheets/bootstrap/bootstrap-datepicker.css +0 -449
  32. data/app/assets/stylesheets/bootstrap/bootstrap-overrides.css.scss +0 -61
  33. data/app/assets/stylesheets/bootstrap/bootstrap-responsive.css +0 -9
  34. data/app/assets/stylesheets/bootstrap/bootstrap.css.scss +0 -9
  35. data/app/assets/stylesheets/coalescing_panda/application.css +0 -16
  36. data/app/assets/stylesheets/coalescing_panda/oauth2.css +0 -0
  37. data/app/assets/stylesheets/coalescing_panda/progress.css.scss +0 -97
  38. data/app/models/coalescing_panda/assignment_group.rb +0 -11
  39. data/app/models/coalescing_panda/group_category.rb +0 -11
  40. data/db/migrate/20150506183335_create_coalescing_panda_assignment_groups.rb +0 -18
  41. data/db/migrate/20150506192717_add_assignment_group_id_to_assignments.rb +0 -5
  42. data/db/migrate/20150526144713_add_account_to_canvas_batches.rb +0 -5
  43. data/db/migrate/20150602205257_add_option_to_canvas_batches.rb +0 -5
  44. data/db/migrate/20150708192717_add_group_moderator_to_group_memberships.rb +0 -5
  45. data/db/migrate/20150709192717_add_leader_id_to_groups.rb +0 -6
  46. data/db/migrate/20150714205405_create_coalescing_panda_group_categories.rb +0 -16
  47. data/db/migrate/20160521205405_add_graded_at_to_coalescing_panda_submissions.rb +0 -5
  48. data/lib/coalescing_panda/bearcat_uri.rb +0 -20
  49. data/spec/factories/assignment_groups.rb +0 -14
  50. 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, :assignment_groups, :submissions, :groups, :group_memberships]) }
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"=>1, "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},
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"=> 1, "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"=> {"id"=>2}},
36
- {"description"=> nil, "group_category_id"=> nil, "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}
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"=> "true", "user_id"=> 2, "workflow_state"=> "accepted"},
40
- {"group_id"=> 4, "id"=> 14, "moderator"=> "false", "user_id"=> 3, "workflow_state"=> "accepted"}
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, :assignment_groups, :submissions, :groups, :group_memberships]
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"=> "false","user_id"=> 2,"workflow_state"=> "accepted"}
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({"moderator"=> "false", "workflow_state" => "accepted"})
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.11
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: 2016-05-21 00:00:00.000000000 Z
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: 1.0.21
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: 1.0.21
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: 4.0.0
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: 4.0.0
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: 4.0.0
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: 4.0.0
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/bootstrap/bootstrap-datepicker.css
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.2.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