coalescing_panda 4.5.7 → 4.6.0.rc1

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