coalescing_panda 0.0.1

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 (67) hide show
  1. data/Rakefile +28 -0
  2. data/app/assets/javascripts/coalescing_panda/application.js +15 -0
  3. data/app/assets/javascripts/coalescing_panda/coalescing_panda/oauth2.js +2 -0
  4. data/app/assets/javascripts/coalescing_panda/oauth2.js.coffee +8 -0
  5. data/app/assets/stylesheets/coalescing_panda/application.css +13 -0
  6. data/app/assets/stylesheets/coalescing_panda/coalescing_panda/oauth2.css +4 -0
  7. data/app/assets/stylesheets/coalescing_panda/oauth2.css +4 -0
  8. data/app/controllers/coalescing_panda/application_controller.rb +4 -0
  9. data/app/controllers/coalescing_panda/lti_controller.rb +32 -0
  10. data/app/controllers/coalescing_panda/oauth2_controller.rb +34 -0
  11. data/app/models/coalescing_panda/canvas_api_auth.rb +6 -0
  12. data/app/models/coalescing_panda/lti_account.rb +23 -0
  13. data/app/models/coalescing_panda/lti_nonce.rb +12 -0
  14. data/app/views/coalescing_panda/oauth2/oauth2.html.haml +10 -0
  15. data/app/views/coalescing_panda/oauth2/redirect.html.haml +5 -0
  16. data/app/views/layouts/coalescing_panda/application.html.erb +14 -0
  17. data/config/routes.rb +4 -0
  18. data/db/migrate/20131114150001_create_coalescing_panda_canvas_api_auths.rb +10 -0
  19. data/db/migrate/20131118211442_create_coalescing_panda_lti_accounts.rb +14 -0
  20. data/db/migrate/20131119165343_create_coalescing_panda_lti_nonces.rb +9 -0
  21. data/lib/coalescing_panda/controller_helpers.rb +61 -0
  22. data/lib/coalescing_panda/engine.rb +17 -0
  23. data/lib/coalescing_panda/route_helpers.rb +28 -0
  24. data/lib/coalescing_panda/version.rb +3 -0
  25. data/lib/coalescing_panda.rb +31 -0
  26. data/lib/tasks/coalescing_panda_tasks.rake +4 -0
  27. data/spec/controllers/coalescing_panda/lti_controller_spec.rb +42 -0
  28. data/spec/controllers/coalescing_panda/oauth2_controller_spec.rb +22 -0
  29. data/spec/dummy/README.rdoc +28 -0
  30. data/spec/dummy/Rakefile +6 -0
  31. data/spec/dummy/app/assets/javascripts/application.js +13 -0
  32. data/spec/dummy/app/assets/stylesheets/application.css +13 -0
  33. data/spec/dummy/app/controllers/application_controller.rb +5 -0
  34. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  35. data/spec/dummy/app/views/layouts/application.html.erb +14 -0
  36. data/spec/dummy/bin/bundle +3 -0
  37. data/spec/dummy/bin/rails +4 -0
  38. data/spec/dummy/bin/rake +4 -0
  39. data/spec/dummy/config/application.rb +23 -0
  40. data/spec/dummy/config/boot.rb +5 -0
  41. data/spec/dummy/config/database.yml +25 -0
  42. data/spec/dummy/config/environment.rb +5 -0
  43. data/spec/dummy/config/environments/development.rb +29 -0
  44. data/spec/dummy/config/environments/production.rb +80 -0
  45. data/spec/dummy/config/environments/test.rb +36 -0
  46. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  47. data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  48. data/spec/dummy/config/initializers/inflections.rb +16 -0
  49. data/spec/dummy/config/initializers/mime_types.rb +5 -0
  50. data/spec/dummy/config/initializers/secret_token.rb +12 -0
  51. data/spec/dummy/config/initializers/session_store.rb +3 -0
  52. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  53. data/spec/dummy/config/locales/en.yml +23 -0
  54. data/spec/dummy/config/routes.rb +5 -0
  55. data/spec/dummy/config.ru +4 -0
  56. data/spec/dummy/db/development.sqlite3 +0 -0
  57. data/spec/dummy/db/schema.rb +24 -0
  58. data/spec/dummy/db/test.sqlite3 +0 -0
  59. data/spec/dummy/log/development.log +9 -0
  60. data/spec/dummy/log/test.log +2084 -0
  61. data/spec/dummy/public/404.html +58 -0
  62. data/spec/dummy/public/422.html +58 -0
  63. data/spec/dummy/public/500.html +57 -0
  64. data/spec/dummy/public/favicon.ico +0 -0
  65. data/spec/models/coalescing_panda/canvas_api_auth_spec.rb +11 -0
  66. data/spec/spec_helper.rb +50 -0
  67. metadata +312 -0
@@ -0,0 +1,58 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>The page you were looking for doesn't exist (404)</title>
5
+ <style>
6
+ body {
7
+ background-color: #EFEFEF;
8
+ color: #2E2F30;
9
+ text-align: center;
10
+ font-family: arial, sans-serif;
11
+ }
12
+
13
+ div.dialog {
14
+ width: 25em;
15
+ margin: 4em auto 0 auto;
16
+ border: 1px solid #CCC;
17
+ border-right-color: #999;
18
+ border-left-color: #999;
19
+ border-bottom-color: #BBB;
20
+ border-top: #B00100 solid 4px;
21
+ border-top-left-radius: 9px;
22
+ border-top-right-radius: 9px;
23
+ background-color: white;
24
+ padding: 7px 4em 0 4em;
25
+ }
26
+
27
+ h1 {
28
+ font-size: 100%;
29
+ color: #730E15;
30
+ line-height: 1.5em;
31
+ }
32
+
33
+ body > p {
34
+ width: 33em;
35
+ margin: 0 auto 1em;
36
+ padding: 1em 0;
37
+ background-color: #F7F7F7;
38
+ border: 1px solid #CCC;
39
+ border-right-color: #999;
40
+ border-bottom-color: #999;
41
+ border-bottom-left-radius: 4px;
42
+ border-bottom-right-radius: 4px;
43
+ border-top-color: #DADADA;
44
+ color: #666;
45
+ box-shadow:0 3px 8px rgba(50, 50, 50, 0.17);
46
+ }
47
+ </style>
48
+ </head>
49
+
50
+ <body>
51
+ <!-- This file lives in public/404.html -->
52
+ <div class="dialog">
53
+ <h1>The page you were looking for doesn't exist.</h1>
54
+ <p>You may have mistyped the address or the page may have moved.</p>
55
+ </div>
56
+ <p>If you are the application owner check the logs for more information.</p>
57
+ </body>
58
+ </html>
@@ -0,0 +1,58 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>The change you wanted was rejected (422)</title>
5
+ <style>
6
+ body {
7
+ background-color: #EFEFEF;
8
+ color: #2E2F30;
9
+ text-align: center;
10
+ font-family: arial, sans-serif;
11
+ }
12
+
13
+ div.dialog {
14
+ width: 25em;
15
+ margin: 4em auto 0 auto;
16
+ border: 1px solid #CCC;
17
+ border-right-color: #999;
18
+ border-left-color: #999;
19
+ border-bottom-color: #BBB;
20
+ border-top: #B00100 solid 4px;
21
+ border-top-left-radius: 9px;
22
+ border-top-right-radius: 9px;
23
+ background-color: white;
24
+ padding: 7px 4em 0 4em;
25
+ }
26
+
27
+ h1 {
28
+ font-size: 100%;
29
+ color: #730E15;
30
+ line-height: 1.5em;
31
+ }
32
+
33
+ body > p {
34
+ width: 33em;
35
+ margin: 0 auto 1em;
36
+ padding: 1em 0;
37
+ background-color: #F7F7F7;
38
+ border: 1px solid #CCC;
39
+ border-right-color: #999;
40
+ border-bottom-color: #999;
41
+ border-bottom-left-radius: 4px;
42
+ border-bottom-right-radius: 4px;
43
+ border-top-color: #DADADA;
44
+ color: #666;
45
+ box-shadow:0 3px 8px rgba(50, 50, 50, 0.17);
46
+ }
47
+ </style>
48
+ </head>
49
+
50
+ <body>
51
+ <!-- This file lives in public/422.html -->
52
+ <div class="dialog">
53
+ <h1>The change you wanted was rejected.</h1>
54
+ <p>Maybe you tried to change something you didn't have access to.</p>
55
+ </div>
56
+ <p>If you are the application owner check the logs for more information.</p>
57
+ </body>
58
+ </html>
@@ -0,0 +1,57 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>We're sorry, but something went wrong (500)</title>
5
+ <style>
6
+ body {
7
+ background-color: #EFEFEF;
8
+ color: #2E2F30;
9
+ text-align: center;
10
+ font-family: arial, sans-serif;
11
+ }
12
+
13
+ div.dialog {
14
+ width: 25em;
15
+ margin: 4em auto 0 auto;
16
+ border: 1px solid #CCC;
17
+ border-right-color: #999;
18
+ border-left-color: #999;
19
+ border-bottom-color: #BBB;
20
+ border-top: #B00100 solid 4px;
21
+ border-top-left-radius: 9px;
22
+ border-top-right-radius: 9px;
23
+ background-color: white;
24
+ padding: 7px 4em 0 4em;
25
+ }
26
+
27
+ h1 {
28
+ font-size: 100%;
29
+ color: #730E15;
30
+ line-height: 1.5em;
31
+ }
32
+
33
+ body > p {
34
+ width: 33em;
35
+ margin: 0 auto 1em;
36
+ padding: 1em 0;
37
+ background-color: #F7F7F7;
38
+ border: 1px solid #CCC;
39
+ border-right-color: #999;
40
+ border-bottom-color: #999;
41
+ border-bottom-left-radius: 4px;
42
+ border-bottom-right-radius: 4px;
43
+ border-top-color: #DADADA;
44
+ color: #666;
45
+ box-shadow:0 3px 8px rgba(50, 50, 50, 0.17);
46
+ }
47
+ </style>
48
+ </head>
49
+
50
+ <body>
51
+ <!-- This file lives in public/500.html -->
52
+ <div class="dialog">
53
+ <h1>We're sorry, but something went wrong.</h1>
54
+ </div>
55
+ <p>If you are the application owner check the logs for more information.</p>
56
+ </body>
57
+ </html>
File without changes
@@ -0,0 +1,11 @@
1
+ require 'spec_helper'
2
+
3
+ describe CoalescingPanda::CanvasApiAuth do
4
+
5
+ it { should validate_uniqueness_of(:user_id).scoped_to(:api_domain)}
6
+ it { should validate_presence_of(:user_id)}
7
+ it {should validate_presence_of(:api_domain)}
8
+
9
+
10
+ end
11
+
@@ -0,0 +1,50 @@
1
+ ENV["RAILS_ENV"] ||= 'test'
2
+ require File.expand_path("../dummy/config/environment.rb", __FILE__)
3
+ require 'rspec/rails'
4
+ require 'rspec/autorun'
5
+ require 'shoulda/matchers/integrations/rspec'
6
+ require 'nokogiri'
7
+ require 'haml'
8
+ require 'simplecov'
9
+
10
+ SimpleCov.start
11
+
12
+ ENGINE_RAILS_ROOT=File.join(File.dirname(__FILE__), '../')
13
+
14
+ # Requires supporting ruby files with custom matchers and macros, etc,
15
+ # in spec/support/ and its subdirectories.
16
+ Dir[File.join(ENGINE_RAILS_ROOT, "spec/support/**/*.rb")].each {|f| require f }
17
+
18
+ # Checks for pending migrations before tests are run.
19
+ # If you are not using ActiveRecord, you can remove this line.
20
+ ActiveRecord::Migration.check_pending! if defined?(ActiveRecord::Migration)
21
+
22
+ RSpec.configure do |config|
23
+ # ## Mock Framework
24
+ #
25
+ # If you prefer to use mocha, flexmock or RR, uncomment the appropriate line:
26
+ #
27
+ # config.mock_with :mocha
28
+ # config.mock_with :flexmock
29
+ # config.mock_with :rr
30
+
31
+ # Remove this line if you're not using ActiveRecord or ActiveRecord fixtures
32
+ config.fixture_path = "#{::Rails.root}/spec/fixtures"
33
+
34
+ # If you're not using ActiveRecord, or you'd prefer not to run each of your
35
+ # examples within a transaction, remove the following line or assign false
36
+ # instead of true.
37
+ config.use_transactional_fixtures = true
38
+
39
+ # If true, the base class of anonymous controllers will be inferred
40
+ # automatically. This will be the default behavior in future versions of
41
+ # rspec-rails.
42
+ config.infer_base_class_for_anonymous_controllers = true
43
+
44
+ # Run specs in random order to surface order dependencies. If you find an
45
+ # order dependency and want to debug it, you can fix the order by providing
46
+ # the seed, which is printed after each run.
47
+ # --seed 1234
48
+ config.order = "random"
49
+
50
+ end
metadata ADDED
@@ -0,0 +1,312 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: coalescing_panda
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Nathan Mills
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2013-11-19 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: rails
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ~>
20
+ - !ruby/object:Gem::Version
21
+ version: 4.0.1
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ version: 4.0.1
30
+ - !ruby/object:Gem::Dependency
31
+ name: bearcat
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0.3'
38
+ type: :runtime
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0.3'
46
+ - !ruby/object:Gem::Dependency
47
+ name: ims-lti
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ type: :runtime
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ - !ruby/object:Gem::Dependency
63
+ name: haml-rails
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
70
+ type: :runtime
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
78
+ - !ruby/object:Gem::Dependency
79
+ name: jquery-rails
80
+ requirement: !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - ! '>='
84
+ - !ruby/object:Gem::Version
85
+ version: '0'
86
+ type: :runtime
87
+ prerelease: false
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
94
+ - !ruby/object:Gem::Dependency
95
+ name: sqlite3
96
+ requirement: !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - ! '>='
100
+ - !ruby/object:Gem::Version
101
+ version: '0'
102
+ type: :development
103
+ prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
110
+ - !ruby/object:Gem::Dependency
111
+ name: rspec-rails
112
+ requirement: !ruby/object:Gem::Requirement
113
+ none: false
114
+ requirements:
115
+ - - ! '>='
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ! '>='
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
126
+ - !ruby/object:Gem::Dependency
127
+ name: shoulda-matchers
128
+ requirement: !ruby/object:Gem::Requirement
129
+ none: false
130
+ requirements:
131
+ - - ! '>='
132
+ - !ruby/object:Gem::Version
133
+ version: '0'
134
+ type: :development
135
+ prerelease: false
136
+ version_requirements: !ruby/object:Gem::Requirement
137
+ none: false
138
+ requirements:
139
+ - - ! '>='
140
+ - !ruby/object:Gem::Version
141
+ version: '0'
142
+ - !ruby/object:Gem::Dependency
143
+ name: nokogiri
144
+ requirement: !ruby/object:Gem::Requirement
145
+ none: false
146
+ requirements:
147
+ - - ! '>='
148
+ - !ruby/object:Gem::Version
149
+ version: '0'
150
+ type: :development
151
+ prerelease: false
152
+ version_requirements: !ruby/object:Gem::Requirement
153
+ none: false
154
+ requirements:
155
+ - - ! '>='
156
+ - !ruby/object:Gem::Version
157
+ version: '0'
158
+ - !ruby/object:Gem::Dependency
159
+ name: simplecov
160
+ requirement: !ruby/object:Gem::Requirement
161
+ none: false
162
+ requirements:
163
+ - - ! '>='
164
+ - !ruby/object:Gem::Version
165
+ version: '0'
166
+ type: :development
167
+ prerelease: false
168
+ version_requirements: !ruby/object:Gem::Requirement
169
+ none: false
170
+ requirements:
171
+ - - ! '>='
172
+ - !ruby/object:Gem::Version
173
+ version: '0'
174
+ description:
175
+ email:
176
+ - nathanm@instructure.com
177
+ executables: []
178
+ extensions: []
179
+ extra_rdoc_files: []
180
+ files:
181
+ - app/assets/javascripts/coalescing_panda/application.js
182
+ - app/assets/javascripts/coalescing_panda/coalescing_panda/oauth2.js
183
+ - app/assets/javascripts/coalescing_panda/oauth2.js.coffee
184
+ - app/assets/stylesheets/coalescing_panda/application.css
185
+ - app/assets/stylesheets/coalescing_panda/coalescing_panda/oauth2.css
186
+ - app/assets/stylesheets/coalescing_panda/oauth2.css
187
+ - app/controllers/coalescing_panda/application_controller.rb
188
+ - app/controllers/coalescing_panda/lti_controller.rb
189
+ - app/controllers/coalescing_panda/oauth2_controller.rb
190
+ - app/models/coalescing_panda/canvas_api_auth.rb
191
+ - app/models/coalescing_panda/lti_account.rb
192
+ - app/models/coalescing_panda/lti_nonce.rb
193
+ - app/views/coalescing_panda/oauth2/oauth2.html.haml
194
+ - app/views/coalescing_panda/oauth2/redirect.html.haml
195
+ - app/views/layouts/coalescing_panda/application.html.erb
196
+ - config/routes.rb
197
+ - db/migrate/20131114150001_create_coalescing_panda_canvas_api_auths.rb
198
+ - db/migrate/20131118211442_create_coalescing_panda_lti_accounts.rb
199
+ - db/migrate/20131119165343_create_coalescing_panda_lti_nonces.rb
200
+ - lib/coalescing_panda/controller_helpers.rb
201
+ - lib/coalescing_panda/engine.rb
202
+ - lib/coalescing_panda/route_helpers.rb
203
+ - lib/coalescing_panda/version.rb
204
+ - lib/coalescing_panda.rb
205
+ - lib/tasks/coalescing_panda_tasks.rake
206
+ - Rakefile
207
+ - spec/controllers/coalescing_panda/lti_controller_spec.rb
208
+ - spec/controllers/coalescing_panda/oauth2_controller_spec.rb
209
+ - spec/dummy/app/assets/javascripts/application.js
210
+ - spec/dummy/app/assets/stylesheets/application.css
211
+ - spec/dummy/app/controllers/application_controller.rb
212
+ - spec/dummy/app/helpers/application_helper.rb
213
+ - spec/dummy/app/views/layouts/application.html.erb
214
+ - spec/dummy/bin/bundle
215
+ - spec/dummy/bin/rails
216
+ - spec/dummy/bin/rake
217
+ - spec/dummy/config/application.rb
218
+ - spec/dummy/config/boot.rb
219
+ - spec/dummy/config/database.yml
220
+ - spec/dummy/config/environment.rb
221
+ - spec/dummy/config/environments/development.rb
222
+ - spec/dummy/config/environments/production.rb
223
+ - spec/dummy/config/environments/test.rb
224
+ - spec/dummy/config/initializers/backtrace_silencers.rb
225
+ - spec/dummy/config/initializers/filter_parameter_logging.rb
226
+ - spec/dummy/config/initializers/inflections.rb
227
+ - spec/dummy/config/initializers/mime_types.rb
228
+ - spec/dummy/config/initializers/secret_token.rb
229
+ - spec/dummy/config/initializers/session_store.rb
230
+ - spec/dummy/config/initializers/wrap_parameters.rb
231
+ - spec/dummy/config/locales/en.yml
232
+ - spec/dummy/config/routes.rb
233
+ - spec/dummy/config.ru
234
+ - spec/dummy/db/development.sqlite3
235
+ - spec/dummy/db/schema.rb
236
+ - spec/dummy/db/test.sqlite3
237
+ - spec/dummy/log/development.log
238
+ - spec/dummy/log/test.log
239
+ - spec/dummy/public/404.html
240
+ - spec/dummy/public/422.html
241
+ - spec/dummy/public/500.html
242
+ - spec/dummy/public/favicon.ico
243
+ - spec/dummy/Rakefile
244
+ - spec/dummy/README.rdoc
245
+ - spec/models/coalescing_panda/canvas_api_auth_spec.rb
246
+ - spec/spec_helper.rb
247
+ homepage: http://www.instructure.com
248
+ licenses: []
249
+ post_install_message:
250
+ rdoc_options: []
251
+ require_paths:
252
+ - lib
253
+ required_ruby_version: !ruby/object:Gem::Requirement
254
+ none: false
255
+ requirements:
256
+ - - ! '>='
257
+ - !ruby/object:Gem::Version
258
+ version: '0'
259
+ required_rubygems_version: !ruby/object:Gem::Requirement
260
+ none: false
261
+ requirements:
262
+ - - ! '>='
263
+ - !ruby/object:Gem::Version
264
+ version: '0'
265
+ requirements: []
266
+ rubyforge_project:
267
+ rubygems_version: 1.8.23
268
+ signing_key:
269
+ specification_version: 3
270
+ summary: Canvas LTI and OAUTH2 mountable engine
271
+ test_files:
272
+ - spec/controllers/coalescing_panda/lti_controller_spec.rb
273
+ - spec/controllers/coalescing_panda/oauth2_controller_spec.rb
274
+ - spec/dummy/app/assets/javascripts/application.js
275
+ - spec/dummy/app/assets/stylesheets/application.css
276
+ - spec/dummy/app/controllers/application_controller.rb
277
+ - spec/dummy/app/helpers/application_helper.rb
278
+ - spec/dummy/app/views/layouts/application.html.erb
279
+ - spec/dummy/bin/bundle
280
+ - spec/dummy/bin/rails
281
+ - spec/dummy/bin/rake
282
+ - spec/dummy/config/application.rb
283
+ - spec/dummy/config/boot.rb
284
+ - spec/dummy/config/database.yml
285
+ - spec/dummy/config/environment.rb
286
+ - spec/dummy/config/environments/development.rb
287
+ - spec/dummy/config/environments/production.rb
288
+ - spec/dummy/config/environments/test.rb
289
+ - spec/dummy/config/initializers/backtrace_silencers.rb
290
+ - spec/dummy/config/initializers/filter_parameter_logging.rb
291
+ - spec/dummy/config/initializers/inflections.rb
292
+ - spec/dummy/config/initializers/mime_types.rb
293
+ - spec/dummy/config/initializers/secret_token.rb
294
+ - spec/dummy/config/initializers/session_store.rb
295
+ - spec/dummy/config/initializers/wrap_parameters.rb
296
+ - spec/dummy/config/locales/en.yml
297
+ - spec/dummy/config/routes.rb
298
+ - spec/dummy/config.ru
299
+ - spec/dummy/db/development.sqlite3
300
+ - spec/dummy/db/schema.rb
301
+ - spec/dummy/db/test.sqlite3
302
+ - spec/dummy/log/development.log
303
+ - spec/dummy/log/test.log
304
+ - spec/dummy/public/404.html
305
+ - spec/dummy/public/422.html
306
+ - spec/dummy/public/500.html
307
+ - spec/dummy/public/favicon.ico
308
+ - spec/dummy/Rakefile
309
+ - spec/dummy/README.rdoc
310
+ - spec/models/coalescing_panda/canvas_api_auth_spec.rb
311
+ - spec/spec_helper.rb
312
+ has_rdoc: