coalescing_panda 1.1.21.1 → 1.2.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 +5 -5
- data/app/controllers/coalescing_panda/oauth2_controller.rb +11 -7
- data/app/models/coalescing_panda/canvas_api_auth.rb +3 -1
- data/app/models/coalescing_panda/lti_account.rb +0 -1
- data/db/migrate/20151209155923_add_refresh_settings_to_canvas_api_auth.rb +6 -0
- data/lib/coalescing_panda/bearcat_uri.rb +24 -0
- data/lib/coalescing_panda/controller_helpers.rb +85 -83
- data/lib/coalescing_panda/engine.rb +8 -62
- data/lib/coalescing_panda/version.rb +1 -1
- data/spec/controllers/coalescing_panda/lti_controller_spec.rb +2 -2
- data/spec/controllers/coalescing_panda/oauth2_controller_spec.rb +9 -4
- data/spec/dummy/db/test.sqlite3 +0 -0
- data/spec/dummy/log/test.log +15249 -0
- data/spec/factories/accounts.rb +24 -0
- data/spec/factories/canvas_api_auths.rb +9 -0
- data/spec/models/coalescing_panda/canvas_api_auth_spec.rb +11 -1
- data/spec/spec_helper.rb +2 -1
- metadata +84 -88
- data/app/views/coalescing_panda/lti/iframe_cookie_fix.html.erb +0 -8
@@ -0,0 +1,24 @@
|
|
1
|
+
FactoryGirl.define do
|
2
|
+
factory :account, class: CoalescingPanda::LtiAccount do
|
3
|
+
sequence :name do |n|
|
4
|
+
"Account #{n}"
|
5
|
+
end
|
6
|
+
|
7
|
+
sequence :key do |n|
|
8
|
+
"Key #{n}"
|
9
|
+
end
|
10
|
+
|
11
|
+
sequence :secret do |n|
|
12
|
+
"Account #{n}"
|
13
|
+
end
|
14
|
+
|
15
|
+
sequence :canvas_account_id do |n|
|
16
|
+
"#{n}"
|
17
|
+
end
|
18
|
+
|
19
|
+
oauth2_client_id "1234"
|
20
|
+
oauth2_client_key "thisisadeveloperkey"
|
21
|
+
settings { {base_url: "http://localhost:3000", account_admin_api_token: "9q2083uy4poiahjfgpoawy"} }
|
22
|
+
|
23
|
+
end
|
24
|
+
end
|
@@ -6,6 +6,16 @@ describe CoalescingPanda::CanvasApiAuth do
|
|
6
6
|
it { should validate_presence_of(:user_id)}
|
7
7
|
it {should validate_presence_of(:api_domain)}
|
8
8
|
|
9
|
+
describe '#expired?' do
|
10
|
+
let(:auth) { FactoryGirl.create :canvas_api_auth }
|
9
11
|
|
12
|
+
it 'is not expired if expires_at is null or in the future' do
|
13
|
+
auth.expires_at = nil
|
14
|
+
expect(auth.expired?).to be_falsey
|
15
|
+
auth.expires_at = 1.hour.ago
|
16
|
+
expect(auth.expired?).to be_truthy
|
17
|
+
auth.expires_at = 1.hour.from_now
|
18
|
+
expect(auth.expired?).to be_falsey
|
19
|
+
end
|
20
|
+
end
|
10
21
|
end
|
11
|
-
|
data/spec/spec_helper.rb
CHANGED
@@ -2,10 +2,11 @@ ENV["RAILS_ENV"] ||= 'test'
|
|
2
2
|
require File.expand_path("../dummy/config/environment.rb", __FILE__)
|
3
3
|
require 'rspec/rails'
|
4
4
|
require 'rspec/autorun'
|
5
|
-
require 'shoulda/matchers
|
5
|
+
require 'shoulda/matchers'
|
6
6
|
require 'nokogiri'
|
7
7
|
require 'haml'
|
8
8
|
require 'simplecov'
|
9
|
+
require 'factory_girl_rails'
|
9
10
|
|
10
11
|
SimpleCov.start
|
11
12
|
|
metadata
CHANGED
@@ -1,43 +1,43 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: coalescing_panda
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nathan Mills
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-12-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - ~>
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: 4.0.1
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - ~>
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: 4.0.1
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: bearcat
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - ~>
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
33
|
+
version: 1.2.0
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - ~>
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
40
|
+
version: 1.2.0
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: macaddr
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -56,238 +56,224 @@ dependencies:
|
|
56
56
|
name: ims-lti
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- -
|
59
|
+
- - '>='
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: '0'
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- -
|
66
|
+
- - '>='
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: haml-rails
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- -
|
73
|
+
- - '>='
|
74
74
|
- !ruby/object:Gem::Version
|
75
75
|
version: '0'
|
76
76
|
type: :runtime
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- -
|
80
|
+
- - '>='
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '0'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: sass-rails
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- -
|
87
|
+
- - ~>
|
88
88
|
- !ruby/object:Gem::Version
|
89
89
|
version: 4.0.0
|
90
90
|
type: :runtime
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
|
-
- -
|
94
|
+
- - ~>
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: 4.0.0
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: jquery-rails
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
|
-
- -
|
101
|
+
- - '>='
|
102
102
|
- !ruby/object:Gem::Version
|
103
103
|
version: '0'
|
104
104
|
type: :runtime
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
|
-
- -
|
108
|
+
- - '>='
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: '0'
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
112
|
name: coffee-rails
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
114
114
|
requirements:
|
115
|
-
- -
|
115
|
+
- - ~>
|
116
116
|
- !ruby/object:Gem::Version
|
117
117
|
version: 4.0.0
|
118
118
|
type: :runtime
|
119
119
|
prerelease: false
|
120
120
|
version_requirements: !ruby/object:Gem::Requirement
|
121
121
|
requirements:
|
122
|
-
- -
|
122
|
+
- - ~>
|
123
123
|
- !ruby/object:Gem::Version
|
124
124
|
version: 4.0.0
|
125
125
|
- !ruby/object:Gem::Dependency
|
126
126
|
name: protected_attributes
|
127
127
|
requirement: !ruby/object:Gem::Requirement
|
128
128
|
requirements:
|
129
|
-
- -
|
129
|
+
- - '>='
|
130
130
|
- !ruby/object:Gem::Version
|
131
131
|
version: '0'
|
132
132
|
type: :runtime
|
133
133
|
prerelease: false
|
134
134
|
version_requirements: !ruby/object:Gem::Requirement
|
135
135
|
requirements:
|
136
|
-
- -
|
136
|
+
- - '>='
|
137
137
|
- !ruby/object:Gem::Version
|
138
138
|
version: '0'
|
139
139
|
- !ruby/object:Gem::Dependency
|
140
140
|
name: p3p
|
141
141
|
requirement: !ruby/object:Gem::Requirement
|
142
142
|
requirements:
|
143
|
-
- -
|
143
|
+
- - '>='
|
144
144
|
- !ruby/object:Gem::Version
|
145
145
|
version: '0'
|
146
146
|
type: :runtime
|
147
147
|
prerelease: false
|
148
148
|
version_requirements: !ruby/object:Gem::Requirement
|
149
149
|
requirements:
|
150
|
-
- -
|
150
|
+
- - '>='
|
151
151
|
- !ruby/object:Gem::Version
|
152
152
|
version: '0'
|
153
153
|
- !ruby/object:Gem::Dependency
|
154
154
|
name: useragent
|
155
155
|
requirement: !ruby/object:Gem::Requirement
|
156
156
|
requirements:
|
157
|
-
- -
|
157
|
+
- - '>='
|
158
158
|
- !ruby/object:Gem::Version
|
159
159
|
version: '0'
|
160
160
|
type: :runtime
|
161
161
|
prerelease: false
|
162
162
|
version_requirements: !ruby/object:Gem::Requirement
|
163
163
|
requirements:
|
164
|
-
- -
|
164
|
+
- - '>='
|
165
165
|
- !ruby/object:Gem::Version
|
166
166
|
version: '0'
|
167
167
|
- !ruby/object:Gem::Dependency
|
168
|
-
name:
|
169
|
-
requirement: !ruby/object:Gem::Requirement
|
170
|
-
requirements:
|
171
|
-
- - "<"
|
172
|
-
- !ruby/object:Gem::Version
|
173
|
-
version: 2.0.0
|
174
|
-
type: :runtime
|
175
|
-
prerelease: false
|
176
|
-
version_requirements: !ruby/object:Gem::Requirement
|
177
|
-
requirements:
|
178
|
-
- - "<"
|
179
|
-
- !ruby/object:Gem::Version
|
180
|
-
version: 2.0.0
|
181
|
-
- !ruby/object:Gem::Dependency
|
182
|
-
name: secure_headers
|
168
|
+
name: sqlite3
|
183
169
|
requirement: !ruby/object:Gem::Requirement
|
184
170
|
requirements:
|
185
|
-
- -
|
171
|
+
- - '>='
|
186
172
|
- !ruby/object:Gem::Version
|
187
173
|
version: '0'
|
188
|
-
type: :
|
174
|
+
type: :development
|
189
175
|
prerelease: false
|
190
176
|
version_requirements: !ruby/object:Gem::Requirement
|
191
177
|
requirements:
|
192
|
-
- -
|
178
|
+
- - '>='
|
193
179
|
- !ruby/object:Gem::Version
|
194
180
|
version: '0'
|
195
181
|
- !ruby/object:Gem::Dependency
|
196
|
-
name:
|
182
|
+
name: rspec-rails
|
197
183
|
requirement: !ruby/object:Gem::Requirement
|
198
184
|
requirements:
|
199
|
-
- -
|
185
|
+
- - '>='
|
200
186
|
- !ruby/object:Gem::Version
|
201
187
|
version: '0'
|
202
188
|
type: :development
|
203
189
|
prerelease: false
|
204
190
|
version_requirements: !ruby/object:Gem::Requirement
|
205
191
|
requirements:
|
206
|
-
- -
|
192
|
+
- - '>='
|
207
193
|
- !ruby/object:Gem::Version
|
208
194
|
version: '0'
|
209
195
|
- !ruby/object:Gem::Dependency
|
210
|
-
name:
|
196
|
+
name: shoulda-matchers
|
211
197
|
requirement: !ruby/object:Gem::Requirement
|
212
198
|
requirements:
|
213
|
-
- -
|
199
|
+
- - '>='
|
214
200
|
- !ruby/object:Gem::Version
|
215
201
|
version: '0'
|
216
202
|
type: :development
|
217
203
|
prerelease: false
|
218
204
|
version_requirements: !ruby/object:Gem::Requirement
|
219
205
|
requirements:
|
220
|
-
- -
|
206
|
+
- - '>='
|
221
207
|
- !ruby/object:Gem::Version
|
222
208
|
version: '0'
|
223
209
|
- !ruby/object:Gem::Dependency
|
224
|
-
name:
|
210
|
+
name: nokogiri
|
225
211
|
requirement: !ruby/object:Gem::Requirement
|
226
212
|
requirements:
|
227
|
-
- -
|
213
|
+
- - '>='
|
228
214
|
- !ruby/object:Gem::Version
|
229
215
|
version: '0'
|
230
216
|
type: :development
|
231
217
|
prerelease: false
|
232
218
|
version_requirements: !ruby/object:Gem::Requirement
|
233
219
|
requirements:
|
234
|
-
- -
|
220
|
+
- - '>='
|
235
221
|
- !ruby/object:Gem::Version
|
236
222
|
version: '0'
|
237
223
|
- !ruby/object:Gem::Dependency
|
238
|
-
name:
|
224
|
+
name: simplecov
|
239
225
|
requirement: !ruby/object:Gem::Requirement
|
240
226
|
requirements:
|
241
|
-
- -
|
227
|
+
- - '>='
|
242
228
|
- !ruby/object:Gem::Version
|
243
229
|
version: '0'
|
244
230
|
type: :development
|
245
231
|
prerelease: false
|
246
232
|
version_requirements: !ruby/object:Gem::Requirement
|
247
233
|
requirements:
|
248
|
-
- -
|
234
|
+
- - '>='
|
249
235
|
- !ruby/object:Gem::Version
|
250
236
|
version: '0'
|
251
237
|
- !ruby/object:Gem::Dependency
|
252
|
-
name:
|
238
|
+
name: debugger
|
253
239
|
requirement: !ruby/object:Gem::Requirement
|
254
240
|
requirements:
|
255
|
-
- -
|
241
|
+
- - '>='
|
256
242
|
- !ruby/object:Gem::Version
|
257
243
|
version: '0'
|
258
244
|
type: :development
|
259
245
|
prerelease: false
|
260
246
|
version_requirements: !ruby/object:Gem::Requirement
|
261
247
|
requirements:
|
262
|
-
- -
|
248
|
+
- - '>='
|
263
249
|
- !ruby/object:Gem::Version
|
264
250
|
version: '0'
|
265
251
|
- !ruby/object:Gem::Dependency
|
266
|
-
name:
|
252
|
+
name: pry
|
267
253
|
requirement: !ruby/object:Gem::Requirement
|
268
254
|
requirements:
|
269
|
-
- -
|
255
|
+
- - '>='
|
270
256
|
- !ruby/object:Gem::Version
|
271
257
|
version: '0'
|
272
258
|
type: :development
|
273
259
|
prerelease: false
|
274
260
|
version_requirements: !ruby/object:Gem::Requirement
|
275
261
|
requirements:
|
276
|
-
- -
|
262
|
+
- - '>='
|
277
263
|
- !ruby/object:Gem::Version
|
278
264
|
version: '0'
|
279
265
|
- !ruby/object:Gem::Dependency
|
280
|
-
name:
|
266
|
+
name: factory_girl_rails
|
281
267
|
requirement: !ruby/object:Gem::Requirement
|
282
268
|
requirements:
|
283
|
-
- -
|
269
|
+
- - '>='
|
284
270
|
- !ruby/object:Gem::Version
|
285
271
|
version: '0'
|
286
272
|
type: :development
|
287
273
|
prerelease: false
|
288
274
|
version_requirements: !ruby/object:Gem::Requirement
|
289
275
|
requirements:
|
290
|
-
- -
|
276
|
+
- - '>='
|
291
277
|
- !ruby/object:Gem::Version
|
292
278
|
version: '0'
|
293
279
|
description:
|
@@ -319,7 +305,6 @@ files:
|
|
319
305
|
- app/models/coalescing_panda/lti_nonce.rb
|
320
306
|
- app/models/coalescing_panda/session.rb
|
321
307
|
- app/views/coalescing_panda/launch.html.haml
|
322
|
-
- app/views/coalescing_panda/lti/iframe_cookie_fix.html.erb
|
323
308
|
- app/views/coalescing_panda/oauth2/oauth2.html.haml
|
324
309
|
- app/views/coalescing_panda/oauth2/redirect.html.haml
|
325
310
|
- app/views/coalescing_panda/styleguide/styleguide.html
|
@@ -331,7 +316,9 @@ files:
|
|
331
316
|
- db/migrate/20131119165343_create_coalescing_panda_lti_nonces.rb
|
332
317
|
- db/migrate/20140722210735_add_settings_to_coalescing_panda_lti_account.rb
|
333
318
|
- db/migrate/20140904223159_create_coalescing_panda_sessions.rb
|
319
|
+
- db/migrate/20151209155923_add_refresh_settings_to_canvas_api_auth.rb
|
334
320
|
- lib/coalescing_panda.rb
|
321
|
+
- lib/coalescing_panda/bearcat_uri.rb
|
335
322
|
- lib/coalescing_panda/controller_helpers.rb
|
336
323
|
- lib/coalescing_panda/engine.rb
|
337
324
|
- lib/coalescing_panda/route_helpers.rb
|
@@ -368,10 +355,14 @@ files:
|
|
368
355
|
- spec/dummy/config/locales/en.yml
|
369
356
|
- spec/dummy/config/routes.rb
|
370
357
|
- spec/dummy/db/schema.rb
|
358
|
+
- spec/dummy/db/test.sqlite3
|
359
|
+
- spec/dummy/log/test.log
|
371
360
|
- spec/dummy/public/404.html
|
372
361
|
- spec/dummy/public/422.html
|
373
362
|
- spec/dummy/public/500.html
|
374
363
|
- spec/dummy/public/favicon.ico
|
364
|
+
- spec/factories/accounts.rb
|
365
|
+
- spec/factories/canvas_api_auths.rb
|
375
366
|
- spec/models/coalescing_panda/canvas_api_auth_spec.rb
|
376
367
|
- spec/spec_helper.rb
|
377
368
|
homepage: http://www.instructure.com
|
@@ -383,54 +374,59 @@ require_paths:
|
|
383
374
|
- lib
|
384
375
|
required_ruby_version: !ruby/object:Gem::Requirement
|
385
376
|
requirements:
|
386
|
-
- -
|
377
|
+
- - '>='
|
387
378
|
- !ruby/object:Gem::Version
|
388
379
|
version: '0'
|
389
380
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
390
381
|
requirements:
|
391
|
-
- -
|
382
|
+
- - '>='
|
392
383
|
- !ruby/object:Gem::Version
|
393
384
|
version: '0'
|
394
385
|
requirements: []
|
395
|
-
|
386
|
+
rubyforge_project:
|
387
|
+
rubygems_version: 2.4.6
|
396
388
|
signing_key:
|
397
389
|
specification_version: 4
|
398
390
|
summary: Canvas LTI and OAUTH2 mountable engine
|
399
391
|
test_files:
|
400
|
-
- spec/
|
401
|
-
- spec/
|
402
|
-
- spec/dummy/app/views/layouts/application.html.erb
|
392
|
+
- spec/controllers/coalescing_panda/lti_controller_spec.rb
|
393
|
+
- spec/controllers/coalescing_panda/oauth2_controller_spec.rb
|
403
394
|
- spec/dummy/app/assets/javascripts/application.js
|
404
395
|
- spec/dummy/app/assets/stylesheets/application.css
|
396
|
+
- spec/dummy/app/controllers/application_controller.rb
|
405
397
|
- spec/dummy/app/helpers/application_helper.rb
|
406
|
-
- spec/dummy/
|
398
|
+
- spec/dummy/app/views/layouts/application.html.erb
|
407
399
|
- spec/dummy/bin/bundle
|
408
400
|
- spec/dummy/bin/rails
|
409
|
-
- spec/dummy/
|
410
|
-
- spec/dummy/config/locales/en.yml
|
411
|
-
- spec/dummy/config/environments/production.rb
|
412
|
-
- spec/dummy/config/environments/development.rb
|
413
|
-
- spec/dummy/config/environments/test.rb
|
414
|
-
- spec/dummy/config/environment.rb
|
401
|
+
- spec/dummy/bin/rake
|
415
402
|
- spec/dummy/config/application.rb
|
416
|
-
- spec/dummy/config/database.yml
|
417
403
|
- spec/dummy/config/boot.rb
|
418
|
-
- spec/dummy/config/
|
404
|
+
- spec/dummy/config/database.yml
|
405
|
+
- spec/dummy/config/environment.rb
|
406
|
+
- spec/dummy/config/environments/development.rb
|
407
|
+
- spec/dummy/config/environments/production.rb
|
408
|
+
- spec/dummy/config/environments/test.rb
|
419
409
|
- spec/dummy/config/initializers/backtrace_silencers.rb
|
420
|
-
- spec/dummy/config/initializers/mime_types.rb
|
421
410
|
- spec/dummy/config/initializers/filter_parameter_logging.rb
|
411
|
+
- spec/dummy/config/initializers/inflections.rb
|
412
|
+
- spec/dummy/config/initializers/lti_initializer.rb
|
413
|
+
- spec/dummy/config/initializers/mime_types.rb
|
414
|
+
- spec/dummy/config/initializers/secret_token.rb
|
422
415
|
- spec/dummy/config/initializers/session_store.rb
|
423
416
|
- spec/dummy/config/initializers/wrap_parameters.rb
|
424
|
-
- spec/dummy/config/
|
425
|
-
- spec/dummy/config/
|
417
|
+
- spec/dummy/config/locales/en.yml
|
418
|
+
- spec/dummy/config/routes.rb
|
426
419
|
- spec/dummy/config.ru
|
427
|
-
- spec/dummy/
|
428
|
-
- spec/dummy/
|
420
|
+
- spec/dummy/db/schema.rb
|
421
|
+
- spec/dummy/db/test.sqlite3
|
422
|
+
- spec/dummy/log/test.log
|
423
|
+
- spec/dummy/public/404.html
|
429
424
|
- spec/dummy/public/422.html
|
430
425
|
- spec/dummy/public/500.html
|
431
|
-
- spec/dummy/public/
|
432
|
-
- spec/dummy/
|
426
|
+
- spec/dummy/public/favicon.ico
|
427
|
+
- spec/dummy/Rakefile
|
433
428
|
- spec/dummy/README.rdoc
|
429
|
+
- spec/factories/accounts.rb
|
430
|
+
- spec/factories/canvas_api_auths.rb
|
434
431
|
- spec/models/coalescing_panda/canvas_api_auth_spec.rb
|
435
|
-
- spec/
|
436
|
-
- spec/controllers/coalescing_panda/lti_controller_spec.rb
|
432
|
+
- spec/spec_helper.rb
|