coalescing_panda 4.5.7 → 4.6.0.rc1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: efd74bc23f1a827162bc59b4a54f3abad7410231
4
- data.tar.gz: 7ddad7acc9e6b8b69deb36fa8c7307ade9c1b593
3
+ metadata.gz: 38408e8e6a517fcead8bddb205c64aea9b93f9e7
4
+ data.tar.gz: 30221214b7c78cda5e0fc70a819407a14ce556b4
5
5
  SHA512:
6
- metadata.gz: fe03ef956a4701428f706d5995403e0615df0f88ea328de69e4a4121a731502ef597d0720149e887f63a5fb57f3cba44b126b1e54cbc0b5f5ce281a829c3fc6d
7
- data.tar.gz: b529faaba30faf0f6e895e34d71f47c736e494e7e239cc5e25bf6c23d16408922e239bdf40bd68777148fdacdabffb29a8356a247a46d8945842462a14602f4b
6
+ metadata.gz: c74a32f1b687f570d68c71c75713d4e570c62586e9ae856649564b31308ffd5a93dded71ee8c332f45c7a1bc223cf1262d37d04231c759bda7eb15662393204b
7
+ data.tar.gz: b1168df146afb94480043b767fa1ad4a6b65094f622b31738457746f31a193582625380aaa472371a6a626c59c3712128d5d2fe70fddedbcba7848c3835f07a9
@@ -0,0 +1,8 @@
1
+ <script>
2
+ const mainWindow = window.parent;
3
+ var url = window.location.href;
4
+ mainWindow.postMessage({
5
+ messageType: "requestFullWindowLaunch",
6
+ data: url
7
+ }, '*');
8
+ </script>
@@ -100,8 +100,9 @@ module CoalescingPanda
100
100
  def lti_authorize!(*roles)
101
101
  authorized = false
102
102
  if @lti_account = params['oauth_consumer_key'] && LtiAccount.find_by_key(params['oauth_consumer_key'])
103
- authentiactor = IMS::LTI::Services::MessageAuthenticator.new(request.original_url, request.request_parameters, @lti_account.secret)
104
- authorized = authentiactor.valid_signature?
103
+ sanitized_params = sanitize_params
104
+ authenticator = IMS::LTI::Services::MessageAuthenticator.new(request.original_url, sanitized_params, @lti_account.secret)
105
+ authorized = authenticator.valid_signature?
105
106
  end
106
107
  logger.info 'not authorized on tp valid request' if !authorized
107
108
  authorized = authorized && (roles.count == 0 || (roles & lti_roles).count > 0)
@@ -109,9 +110,22 @@ module CoalescingPanda
109
110
  authorized = authorized && @lti_account.validate_nonce(params['oauth_nonce'], DateTime.strptime(params['oauth_timestamp'], '%s'))
110
111
  logger.info 'not authorized on nonce' if !authorized
111
112
  render :text => 'Invalid Credentials, please contact your Administrator.', :status => :unauthorized unless authorized
113
+ check_for_iframes_problem
112
114
  authorized
113
115
  end
114
116
 
117
+ # code for method taken from panda_pal v 4.0.8
118
+ # used for safari workaround
119
+ def sanitize_params
120
+ sanitized_params = request.request_parameters
121
+ # These params come over with a safari-workaround launch. The authenticator doesn't like them, so clean them out.
122
+ safe_unexpected_params = ["full_win_launch_requested", "platform_redirect_url"]
123
+ safe_unexpected_params.each do |p|
124
+ sanitized_params.delete(p)
125
+ end
126
+ sanitized_params
127
+ end
128
+
115
129
  def lti_editor_button_response(return_type, return_params)
116
130
  valid_return_types = [:image_url, :iframe, :url, :lti_launch_url]
117
131
  raise "invalid editor button return type #{return_type}" unless valid_return_types.include?(return_type)
@@ -153,17 +167,34 @@ module CoalescingPanda
153
167
  end
154
168
 
155
169
  def session_check
156
- user_agent = UserAgent.parse(request.user_agent) # Uses useragent gem!
157
- if user_agent.browser == 'Safari' && !request.referrer.include?('sessionless_launch') # we apply the fix..
158
- return if session[:safari_cookie_fixed] # it is already fixed.. continue
159
- if params[:safari_cookie_fix].present? # we should be top window and able to set cookies.. so fix the issue :)
160
- session[:safari_cookie_fixed] = true
161
- redirect_to params[:return_to]
162
- else
163
- # Redirect the top frame to your server..
164
- query = params.to_query
165
- render :text => "<script>var referrer = document.referrer; top.window.location='?safari_cookie_fix=true&return_to='.concat(encodeURI(referrer));</script>"
166
- end
170
+ logger.warn 'session_check is deprecated. Functionality moved to canvas_oauth2.'
171
+ end
172
+
173
+ def check_for_iframes_problem
174
+ if cookies_need_iframe_fix?
175
+ fix_iframe_cookies
176
+ return
177
+ end
178
+
179
+ # For safari we may have been launched temporarily full-screen by canvas. This allows us to set the session cookie.
180
+ # In this case, we should make sure the session cookie is fixed and redirect back to canvas to properly launch the embedded LTI.
181
+ if params[:platform_redirect_url]
182
+ session[:safari_cookie_fixed] = true
183
+ redirect_to params[:platform_redirect_url]
184
+ return
185
+ end
186
+ end
187
+
188
+ def cookies_need_iframe_fix?
189
+ browser.safari? && !request.referrer&.include?('sessionless_launch') && !session[:safari_cookie_fixed] && !params[:platform_redirect_url]
190
+ end
191
+
192
+ def fix_iframe_cookies
193
+ if params[:safari_cookie_fix].present?
194
+ session[:safari_cookie_fixed] = true
195
+ redirect_to params[:return_to]
196
+ else
197
+ render 'coalescing_panda/lti/iframe_cookie_fix', layout: false
167
198
  end
168
199
  end
169
200
 
@@ -1,3 +1,3 @@
1
1
  module CoalescingPanda
2
- VERSION = '4.5.7'
2
+ VERSION = '4.6.0.rc1'
3
3
  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.5.7
4
+ version: 4.6.0.rc1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nathan Mills
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2018-04-18 00:00:00.000000000 Z
13
+ date: 2020-02-04 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rails
@@ -40,6 +40,20 @@ dependencies:
40
40
  - - ~>
41
41
  - !ruby/object:Gem::Version
42
42
  version: 1.3.0
43
+ - !ruby/object:Gem::Dependency
44
+ name: browser~> 3.0.3
45
+ requirement: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - '>='
48
+ - !ruby/object:Gem::Version
49
+ version: '0'
50
+ type: :runtime
51
+ prerelease: false
52
+ version_requirements: !ruby/object:Gem::Requirement
53
+ requirements:
54
+ - - '>='
55
+ - !ruby/object:Gem::Version
56
+ version: '0'
43
57
  - !ruby/object:Gem::Dependency
44
58
  name: macaddr
45
59
  requirement: !ruby/object:Gem::Requirement
@@ -385,153 +399,154 @@ executables: []
385
399
  extensions: []
386
400
  extra_rdoc_files: []
387
401
  files:
388
- - app/assets/images/bootstrap/glyphicons-halflings-white.png
389
- - app/assets/images/bootstrap/glyphicons-halflings.png
390
- - app/assets/javascripts/coalescing_panda/application.js
391
- - app/assets/javascripts/coalescing_panda/canvas_batch.js.coffee
392
- - app/assets/javascripts/coalescing_panda/oauth2.js.coffee
393
- - app/assets/stylesheets/coalescing_panda/application.css.scss
394
- - app/assets/stylesheets/coalescing_panda/launch.css.scss
395
- - app/assets/stylesheets/coalescing_panda/progress.css.scss
396
- - app/controllers/coalescing_panda/application_controller.rb
397
- - app/controllers/coalescing_panda/canvas_batches_controller.rb
398
- - app/controllers/coalescing_panda/lti_controller.rb
399
- - app/controllers/coalescing_panda/oauth2_controller.rb
400
- - app/helpers/coalescing_panda/canvas_batches_helper.rb
401
- - app/models/coalescing_panda/assignment.rb
402
402
  - app/models/coalescing_panda/assignment_group.rb
403
- - app/models/coalescing_panda/canvas_api_auth.rb
404
- - app/models/coalescing_panda/canvas_batch.rb
405
- - app/models/coalescing_panda/course.rb
403
+ - app/models/coalescing_panda/group_membership.rb
406
404
  - app/models/coalescing_panda/enrollment.rb
405
+ - app/models/coalescing_panda/canvas_batch.rb
406
+ - app/models/coalescing_panda/assignment.rb
407
407
  - app/models/coalescing_panda/group.rb
408
- - app/models/coalescing_panda/group_category.rb
409
- - app/models/coalescing_panda/group_membership.rb
410
- - app/models/coalescing_panda/lti_account.rb
411
- - app/models/coalescing_panda/lti_nonce.rb
412
- - app/models/coalescing_panda/oauth_state.rb
413
- - app/models/coalescing_panda/section.rb
414
408
  - app/models/coalescing_panda/session.rb
415
- - app/models/coalescing_panda/submission.rb
409
+ - app/models/coalescing_panda/section.rb
416
410
  - app/models/coalescing_panda/term.rb
417
- - app/models/coalescing_panda/user.rb
411
+ - app/models/coalescing_panda/oauth_state.rb
412
+ - app/models/coalescing_panda/submission.rb
413
+ - app/models/coalescing_panda/canvas_api_auth.rb
418
414
  - app/models/coalescing_panda/workers/account_miner.rb
419
- - app/models/coalescing_panda/workers/course_miner.rb
420
415
  - app/models/coalescing_panda/workers/provisioning_miner.rb
416
+ - app/models/coalescing_panda/workers/course_miner.rb
417
+ - app/models/coalescing_panda/lti_nonce.rb
418
+ - app/models/coalescing_panda/course.rb
419
+ - app/models/coalescing_panda/lti_account.rb
420
+ - app/models/coalescing_panda/user.rb
421
+ - app/models/coalescing_panda/group_category.rb
421
422
  - app/models/concerns/single_table_polymorphic.rb
422
- - app/views/coalescing_panda/canvas_batches/_canvas_batch.html.haml
423
- - app/views/coalescing_panda/canvas_batches/_canvas_batch_flash.html.haml
424
- - app/views/coalescing_panda/launch.html.haml
423
+ - app/controllers/coalescing_panda/oauth2_controller.rb
424
+ - app/controllers/coalescing_panda/application_controller.rb
425
+ - app/controllers/coalescing_panda/lti_controller.rb
426
+ - app/controllers/coalescing_panda/canvas_batches_controller.rb
425
427
  - app/views/coalescing_panda/oauth2/oauth2.html.haml
426
428
  - app/views/coalescing_panda/oauth2/redirect.html.haml
429
+ - app/views/coalescing_panda/launch.html.haml
427
430
  - app/views/coalescing_panda/styleguide/styleguide.html
431
+ - app/views/coalescing_panda/lti/iframe_cookie_fix.html.erb
432
+ - app/views/coalescing_panda/canvas_batches/_canvas_batch.html.haml
433
+ - app/views/coalescing_panda/canvas_batches/_canvas_batch_flash.html.haml
428
434
  - app/views/layouts/coalescing_panda/application.html.erb
435
+ - app/assets/images/bootstrap/glyphicons-halflings.png
436
+ - app/assets/images/bootstrap/glyphicons-halflings-white.png
437
+ - app/assets/javascripts/coalescing_panda/oauth2.js.coffee
438
+ - app/assets/javascripts/coalescing_panda/application.js
439
+ - app/assets/javascripts/coalescing_panda/canvas_batch.js.coffee
440
+ - app/assets/stylesheets/coalescing_panda/progress.css.scss
441
+ - app/assets/stylesheets/coalescing_panda/application.css.scss
442
+ - app/assets/stylesheets/coalescing_panda/launch.css.scss
443
+ - app/helpers/coalescing_panda/canvas_batches_helper.rb
429
444
  - config/routes.rb
430
445
  - config/styleguide.yml
431
- - db/migrate/20131114150001_create_coalescing_panda_canvas_api_auths.rb
432
- - db/migrate/20131118211442_create_coalescing_panda_lti_accounts.rb
433
- - db/migrate/20131119165343_create_coalescing_panda_lti_nonces.rb
434
- - db/migrate/20140904223159_create_coalescing_panda_sessions.rb
435
- - db/migrate/20141119225319_create_coalescing_panda_terms.rb
436
- - db/migrate/20141119225721_create_coalescing_panda_courses.rb
437
446
  - db/migrate/20141120151432_create_coalescing_panda_sections.rb
438
- - db/migrate/20141120151940_create_coalescing_panda_assignments.rb
439
- - db/migrate/20141120152458_create_coalescing_panda_users.rb
447
+ - db/migrate/20150602205257_add_option_to_canvas_batches.rb
448
+ - db/migrate/20150811140030_add_fields_to_users.rb
449
+ - db/migrate/20131118211442_create_coalescing_panda_lti_accounts.rb
450
+ - db/migrate/20150506192717_add_assignment_group_id_to_assignments.rb
451
+ - db/migrate/20160830183155_create_coalescing_panda_oauth_states.rb
440
452
  - db/migrate/20141120152546_create_coalescing_panda_submissions.rb
441
- - db/migrate/20141120153135_create_coalescing_panda_enrollments.rb
442
- - db/migrate/20141121174846_create_coalescing_panda_canvas_batches.rb
443
- - db/migrate/20141124160857_create_delayed_jobs.rb
444
453
  - db/migrate/20141208221740_add_submission_types_to_assignments.rb
445
- - db/migrate/20150106175418_add_group_category_id_to_assignment.rb
446
- - db/migrate/20150106180131_add_published_to_assignments.rb
447
- - db/migrate/20150107205405_create_coalescing_panda_groups.rb
454
+ - db/migrate/20150709192717_add_leader_id_to_groups.rb
448
455
  - db/migrate/20150107205413_create_coalescing_panda_group_memberships.rb
456
+ - db/migrate/20141120152458_create_coalescing_panda_users.rb
457
+ - db/migrate/20141121174846_create_coalescing_panda_canvas_batches.rb
458
+ - db/migrate/20150708192717_add_group_moderator_to_group_memberships.rb
449
459
  - db/migrate/20150210180516_add_context_to_canvas_batch.rb
460
+ - db/migrate/20141120151940_create_coalescing_panda_assignments.rb
461
+ - db/migrate/20140904223159_create_coalescing_panda_sessions.rb
450
462
  - db/migrate/20150506183335_create_coalescing_panda_assignment_groups.rb
451
- - db/migrate/20150506192717_add_assignment_group_id_to_assignments.rb
463
+ - db/migrate/20141120153135_create_coalescing_panda_enrollments.rb
464
+ - db/migrate/20150107205405_create_coalescing_panda_groups.rb
465
+ - db/migrate/20141119225721_create_coalescing_panda_courses.rb
466
+ - db/migrate/20141124160857_create_delayed_jobs.rb
467
+ - db/migrate/20131119165343_create_coalescing_panda_lti_nonces.rb
468
+ - db/migrate/20150106180131_add_published_to_assignments.rb
452
469
  - db/migrate/20150526144713_add_account_to_canvas_batches.rb
453
- - db/migrate/20150602205257_add_option_to_canvas_batches.rb
454
- - db/migrate/20150708192717_add_group_moderator_to_group_memberships.rb
455
- - db/migrate/20150709192717_add_leader_id_to_groups.rb
470
+ - db/migrate/20150106175418_add_group_category_id_to_assignment.rb
456
471
  - db/migrate/20150714205405_create_coalescing_panda_group_categories.rb
457
- - db/migrate/20150811140030_add_fields_to_users.rb
458
472
  - db/migrate/20151209155923_add_refresh_settings_to_canvas_api_auth.rb
459
- - db/migrate/20160830183155_create_coalescing_panda_oauth_states.rb
460
- - lib/coalescing_panda/bearcat_uri.rb
473
+ - db/migrate/20131114150001_create_coalescing_panda_canvas_api_auths.rb
474
+ - db/migrate/20141119225319_create_coalescing_panda_terms.rb
475
+ - lib/tasks/coalescing_panda_tasks.rake
476
+ - lib/coalescing_panda.rb
461
477
  - lib/coalescing_panda/controller_helpers.rb
478
+ - lib/coalescing_panda/bearcat_uri.rb
462
479
  - lib/coalescing_panda/engine.rb
463
- - lib/coalescing_panda/route_helpers.rb
464
480
  - lib/coalescing_panda/version.rb
465
- - lib/coalescing_panda.rb
466
- - lib/tasks/coalescing_panda_tasks.rake
481
+ - lib/coalescing_panda/route_helpers.rb
467
482
  - Rakefile
468
- - spec/controllers/coalescing_panda/canvas_batches_controller_spec.rb
469
- - spec/controllers/coalescing_panda/lti_controller_spec.rb
470
- - spec/controllers/coalescing_panda/oauth2_controller_spec.rb
471
- - spec/dummy/app/assets/javascripts/application.js
472
- - spec/dummy/app/assets/stylesheets/application.css
473
- - spec/dummy/app/controllers/application_controller.rb
474
- - spec/dummy/app/helpers/application_helper.rb
483
+ - spec/spec_helper.rb
475
484
  - spec/dummy/app/models/account.rb
476
485
  - spec/dummy/app/models/course.rb
486
+ - spec/dummy/app/controllers/application_controller.rb
477
487
  - spec/dummy/app/views/layouts/application.html.erb
488
+ - spec/dummy/app/assets/javascripts/application.js
489
+ - spec/dummy/app/assets/stylesheets/application.css
490
+ - spec/dummy/app/helpers/application_helper.rb
491
+ - spec/dummy/bin/rake
478
492
  - spec/dummy/bin/bundle
479
493
  - spec/dummy/bin/rails
480
- - spec/dummy/bin/rake
481
- - spec/dummy/config/application.rb
482
- - spec/dummy/config/boot.rb
483
- - spec/dummy/config/database.yml
484
- - spec/dummy/config/environment.rb
485
- - spec/dummy/config/environments/development.rb
494
+ - spec/dummy/config/routes.rb
495
+ - spec/dummy/config/locales/en.yml
486
496
  - spec/dummy/config/environments/production.rb
497
+ - spec/dummy/config/environments/development.rb
487
498
  - spec/dummy/config/environments/test.rb
488
- - spec/dummy/config/initializers/backtrace_silencers.rb
489
- - spec/dummy/config/initializers/filter_parameter_logging.rb
490
- - spec/dummy/config/initializers/inflections.rb
499
+ - spec/dummy/config/environment.rb
500
+ - spec/dummy/config/application.rb
501
+ - spec/dummy/config/database.yml
502
+ - spec/dummy/config/boot.rb
491
503
  - spec/dummy/config/initializers/lti_initializer.rb
504
+ - spec/dummy/config/initializers/backtrace_silencers.rb
492
505
  - spec/dummy/config/initializers/mime_types.rb
493
- - spec/dummy/config/initializers/secret_token.rb
506
+ - spec/dummy/config/initializers/filter_parameter_logging.rb
494
507
  - spec/dummy/config/initializers/session_store.rb
495
508
  - spec/dummy/config/initializers/wrap_parameters.rb
496
- - spec/dummy/config/locales/en.yml
497
- - spec/dummy/config/routes.rb
509
+ - spec/dummy/config/initializers/secret_token.rb
510
+ - spec/dummy/config/initializers/inflections.rb
498
511
  - spec/dummy/config.ru
499
- - spec/dummy/db/schema.rb
500
- - spec/dummy/public/404.html
512
+ - spec/dummy/Rakefile
513
+ - spec/dummy/public/favicon.ico
501
514
  - spec/dummy/public/422.html
502
515
  - spec/dummy/public/500.html
503
- - spec/dummy/public/favicon.ico
504
- - spec/dummy/Rakefile
516
+ - spec/dummy/public/404.html
517
+ - spec/dummy/db/schema.rb
505
518
  - spec/dummy/README.rdoc
506
- - spec/factories/accounts.rb
519
+ - spec/models/coalescing_panda/enrollment_spec.rb
520
+ - spec/models/coalescing_panda/section_spec.rb
521
+ - spec/models/coalescing_panda/lti_nonce_spec.rb
522
+ - spec/models/coalescing_panda/lti_account_spec.rb
523
+ - spec/models/coalescing_panda/canvas_batch_spec.rb
524
+ - spec/models/coalescing_panda/term_spec.rb
525
+ - spec/models/coalescing_panda/assignment_spec.rb
526
+ - spec/models/coalescing_panda/submission_spec.rb
527
+ - spec/models/coalescing_panda/assignment_group_spec.rb
528
+ - spec/models/coalescing_panda/group_spec.rb
529
+ - spec/models/coalescing_panda/workers/account_miner_spec.rb
530
+ - spec/models/coalescing_panda/workers/course_miner_spec.rb
531
+ - spec/models/coalescing_panda/canvas_api_auth_spec.rb
532
+ - spec/models/coalescing_panda/group_membership_spec.rb
533
+ - spec/models/coalescing_panda/user_spec.rb
534
+ - spec/models/coalescing_panda/course_spec.rb
535
+ - spec/factories/courses.rb
536
+ - spec/factories/submissions.rb
507
537
  - spec/factories/assignment_groups.rb
508
538
  - spec/factories/assignments.rb
509
539
  - spec/factories/canvas_api_auths.rb
510
- - spec/factories/canvas_batches.rb
511
- - spec/factories/courses.rb
512
540
  - spec/factories/enrollments.rb
541
+ - spec/factories/canvas_batches.rb
513
542
  - spec/factories/sections.rb
514
- - spec/factories/submissions.rb
515
- - spec/factories/terms.rb
543
+ - spec/factories/accounts.rb
516
544
  - spec/factories/users.rb
517
- - spec/models/coalescing_panda/assignment_group_spec.rb
518
- - spec/models/coalescing_panda/assignment_spec.rb
519
- - spec/models/coalescing_panda/canvas_api_auth_spec.rb
520
- - spec/models/coalescing_panda/canvas_batch_spec.rb
521
- - spec/models/coalescing_panda/course_spec.rb
522
- - spec/models/coalescing_panda/enrollment_spec.rb
523
- - spec/models/coalescing_panda/group_membership_spec.rb
524
- - spec/models/coalescing_panda/group_spec.rb
525
- - spec/models/coalescing_panda/lti_account_spec.rb
526
- - spec/models/coalescing_panda/lti_nonce_spec.rb
527
- - spec/models/coalescing_panda/section_spec.rb
528
- - spec/models/coalescing_panda/submission_spec.rb
529
- - spec/models/coalescing_panda/term_spec.rb
530
- - spec/models/coalescing_panda/user_spec.rb
531
- - spec/models/coalescing_panda/workers/account_miner_spec.rb
532
- - spec/models/coalescing_panda/workers/course_miner_spec.rb
545
+ - spec/factories/terms.rb
546
+ - spec/controllers/coalescing_panda/canvas_batches_controller_spec.rb
547
+ - spec/controllers/coalescing_panda/oauth2_controller_spec.rb
548
+ - spec/controllers/coalescing_panda/lti_controller_spec.rb
533
549
  - spec/rails_helper.rb
534
- - spec/spec_helper.rb
535
550
  homepage: http://www.instructure.com
536
551
  licenses: []
537
552
  metadata: {}
@@ -546,9 +561,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
546
561
  version: '0'
547
562
  required_rubygems_version: !ruby/object:Gem::Requirement
548
563
  requirements:
549
- - - '>='
564
+ - - '>'
550
565
  - !ruby/object:Gem::Version
551
- version: '0'
566
+ version: 1.3.1
552
567
  requirements: []
553
568
  rubyforge_project:
554
569
  rubygems_version: 2.0.14
@@ -556,70 +571,70 @@ signing_key:
556
571
  specification_version: 4
557
572
  summary: Canvas LTI and OAUTH2 mountable engine
558
573
  test_files:
559
- - spec/controllers/coalescing_panda/canvas_batches_controller_spec.rb
560
- - spec/controllers/coalescing_panda/lti_controller_spec.rb
561
- - spec/controllers/coalescing_panda/oauth2_controller_spec.rb
562
- - spec/dummy/app/assets/javascripts/application.js
563
- - spec/dummy/app/assets/stylesheets/application.css
564
- - spec/dummy/app/controllers/application_controller.rb
565
- - spec/dummy/app/helpers/application_helper.rb
574
+ - spec/spec_helper.rb
566
575
  - spec/dummy/app/models/account.rb
567
576
  - spec/dummy/app/models/course.rb
577
+ - spec/dummy/app/controllers/application_controller.rb
568
578
  - spec/dummy/app/views/layouts/application.html.erb
579
+ - spec/dummy/app/assets/javascripts/application.js
580
+ - spec/dummy/app/assets/stylesheets/application.css
581
+ - spec/dummy/app/helpers/application_helper.rb
582
+ - spec/dummy/bin/rake
569
583
  - spec/dummy/bin/bundle
570
584
  - spec/dummy/bin/rails
571
- - spec/dummy/bin/rake
572
- - spec/dummy/config/application.rb
573
- - spec/dummy/config/boot.rb
574
- - spec/dummy/config/database.yml
575
- - spec/dummy/config/environment.rb
576
- - spec/dummy/config/environments/development.rb
585
+ - spec/dummy/config/routes.rb
586
+ - spec/dummy/config/locales/en.yml
577
587
  - spec/dummy/config/environments/production.rb
588
+ - spec/dummy/config/environments/development.rb
578
589
  - spec/dummy/config/environments/test.rb
579
- - spec/dummy/config/initializers/backtrace_silencers.rb
580
- - spec/dummy/config/initializers/filter_parameter_logging.rb
581
- - spec/dummy/config/initializers/inflections.rb
590
+ - spec/dummy/config/environment.rb
591
+ - spec/dummy/config/application.rb
592
+ - spec/dummy/config/database.yml
593
+ - spec/dummy/config/boot.rb
582
594
  - spec/dummy/config/initializers/lti_initializer.rb
595
+ - spec/dummy/config/initializers/backtrace_silencers.rb
583
596
  - spec/dummy/config/initializers/mime_types.rb
584
- - spec/dummy/config/initializers/secret_token.rb
597
+ - spec/dummy/config/initializers/filter_parameter_logging.rb
585
598
  - spec/dummy/config/initializers/session_store.rb
586
599
  - spec/dummy/config/initializers/wrap_parameters.rb
587
- - spec/dummy/config/locales/en.yml
588
- - spec/dummy/config/routes.rb
600
+ - spec/dummy/config/initializers/secret_token.rb
601
+ - spec/dummy/config/initializers/inflections.rb
589
602
  - spec/dummy/config.ru
590
- - spec/dummy/db/schema.rb
591
- - spec/dummy/public/404.html
603
+ - spec/dummy/Rakefile
604
+ - spec/dummy/public/favicon.ico
592
605
  - spec/dummy/public/422.html
593
606
  - spec/dummy/public/500.html
594
- - spec/dummy/public/favicon.ico
595
- - spec/dummy/Rakefile
607
+ - spec/dummy/public/404.html
608
+ - spec/dummy/db/schema.rb
596
609
  - spec/dummy/README.rdoc
597
- - spec/factories/accounts.rb
610
+ - spec/models/coalescing_panda/enrollment_spec.rb
611
+ - spec/models/coalescing_panda/section_spec.rb
612
+ - spec/models/coalescing_panda/lti_nonce_spec.rb
613
+ - spec/models/coalescing_panda/lti_account_spec.rb
614
+ - spec/models/coalescing_panda/canvas_batch_spec.rb
615
+ - spec/models/coalescing_panda/term_spec.rb
616
+ - spec/models/coalescing_panda/assignment_spec.rb
617
+ - spec/models/coalescing_panda/submission_spec.rb
618
+ - spec/models/coalescing_panda/assignment_group_spec.rb
619
+ - spec/models/coalescing_panda/group_spec.rb
620
+ - spec/models/coalescing_panda/workers/account_miner_spec.rb
621
+ - spec/models/coalescing_panda/workers/course_miner_spec.rb
622
+ - spec/models/coalescing_panda/canvas_api_auth_spec.rb
623
+ - spec/models/coalescing_panda/group_membership_spec.rb
624
+ - spec/models/coalescing_panda/user_spec.rb
625
+ - spec/models/coalescing_panda/course_spec.rb
626
+ - spec/factories/courses.rb
627
+ - spec/factories/submissions.rb
598
628
  - spec/factories/assignment_groups.rb
599
629
  - spec/factories/assignments.rb
600
630
  - spec/factories/canvas_api_auths.rb
601
- - spec/factories/canvas_batches.rb
602
- - spec/factories/courses.rb
603
631
  - spec/factories/enrollments.rb
632
+ - spec/factories/canvas_batches.rb
604
633
  - spec/factories/sections.rb
605
- - spec/factories/submissions.rb
606
- - spec/factories/terms.rb
634
+ - spec/factories/accounts.rb
607
635
  - spec/factories/users.rb
608
- - spec/models/coalescing_panda/assignment_group_spec.rb
609
- - spec/models/coalescing_panda/assignment_spec.rb
610
- - spec/models/coalescing_panda/canvas_api_auth_spec.rb
611
- - spec/models/coalescing_panda/canvas_batch_spec.rb
612
- - spec/models/coalescing_panda/course_spec.rb
613
- - spec/models/coalescing_panda/enrollment_spec.rb
614
- - spec/models/coalescing_panda/group_membership_spec.rb
615
- - spec/models/coalescing_panda/group_spec.rb
616
- - spec/models/coalescing_panda/lti_account_spec.rb
617
- - spec/models/coalescing_panda/lti_nonce_spec.rb
618
- - spec/models/coalescing_panda/section_spec.rb
619
- - spec/models/coalescing_panda/submission_spec.rb
620
- - spec/models/coalescing_panda/term_spec.rb
621
- - spec/models/coalescing_panda/user_spec.rb
622
- - spec/models/coalescing_panda/workers/account_miner_spec.rb
623
- - spec/models/coalescing_panda/workers/course_miner_spec.rb
636
+ - spec/factories/terms.rb
637
+ - spec/controllers/coalescing_panda/canvas_batches_controller_spec.rb
638
+ - spec/controllers/coalescing_panda/oauth2_controller_spec.rb
639
+ - spec/controllers/coalescing_panda/lti_controller_spec.rb
624
640
  - spec/rails_helper.rb
625
- - spec/spec_helper.rb