lti_provider_engine 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 (59) hide show
  1. data/MIT-LICENSE +20 -0
  2. data/README.md +145 -0
  3. data/Rakefile +28 -0
  4. data/app/controllers/lti_provider/application_controller.rb +5 -0
  5. data/app/controllers/lti_provider/lti_controller.rb +61 -0
  6. data/app/models/lti_provider/launch.rb +105 -0
  7. data/app/views/layouts/lti_provider/application.html.erb +12 -0
  8. data/app/views/lti_provider/lti/cookie_test.html.erb +4 -0
  9. data/config/lti.yml.example +13 -0
  10. data/config/lti_xml.yml.example +22 -0
  11. data/config/routes.rb +6 -0
  12. data/db/migrate/20130319050003_create_lti_provider_launches.rb +11 -0
  13. data/lib/lti_provider.rb +20 -0
  14. data/lib/lti_provider/config.rb +1 -0
  15. data/lib/lti_provider/engine.rb +19 -0
  16. data/lib/lti_provider/lti_application.rb +56 -0
  17. data/lib/lti_provider/lti_config.rb +28 -0
  18. data/lib/lti_provider/lti_xml_config.rb +23 -0
  19. data/lib/lti_provider/version.rb +3 -0
  20. data/lib/lti_provider/xml_config.rb +1 -0
  21. data/lib/tasks/lti_provider_tasks.rake +4 -0
  22. data/spec/controllers/lti_provider/lti_controller_spec.rb +141 -0
  23. data/spec/dummy/Rakefile +7 -0
  24. data/spec/dummy/app/controllers/application_controller.rb +5 -0
  25. data/spec/dummy/app/controllers/welcome_controller.rb +5 -0
  26. data/spec/dummy/config.ru +4 -0
  27. data/spec/dummy/config/application.rb +58 -0
  28. data/spec/dummy/config/boot.rb +10 -0
  29. data/spec/dummy/config/cucumber.yml +8 -0
  30. data/spec/dummy/config/database.yml +25 -0
  31. data/spec/dummy/config/environment.rb +5 -0
  32. data/spec/dummy/config/environments/development.rb +37 -0
  33. data/spec/dummy/config/environments/production.rb +67 -0
  34. data/spec/dummy/config/environments/test.rb +37 -0
  35. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  36. data/spec/dummy/config/initializers/inflections.rb +15 -0
  37. data/spec/dummy/config/initializers/mime_types.rb +5 -0
  38. data/spec/dummy/config/initializers/secret_token.rb +7 -0
  39. data/spec/dummy/config/initializers/session_store.rb +8 -0
  40. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  41. data/spec/dummy/config/locales/en.yml +5 -0
  42. data/spec/dummy/config/lti.yml +13 -0
  43. data/spec/dummy/config/lti_xml.yml +24 -0
  44. data/spec/dummy/config/routes.rb +4 -0
  45. data/spec/dummy/db/development.sqlite3 +0 -0
  46. data/spec/dummy/db/migrate/20130319050206_create_lti_provider_launches.lti_provider.rb +12 -0
  47. data/spec/dummy/db/schema.rb +24 -0
  48. data/spec/dummy/db/test.sqlite3 +0 -0
  49. data/spec/dummy/log/development.log +266 -0
  50. data/spec/dummy/log/test.log +3643 -0
  51. data/spec/dummy/public/404.html +26 -0
  52. data/spec/dummy/public/422.html +26 -0
  53. data/spec/dummy/public/500.html +25 -0
  54. data/spec/dummy/public/favicon.ico +0 -0
  55. data/spec/dummy/public/robots.txt +5 -0
  56. data/spec/dummy/script/rails +6 -0
  57. data/spec/models/lti_provider/launch_spec.rb +80 -0
  58. data/spec/spec_helper.rb +55 -0
  59. metadata +337 -0
@@ -0,0 +1,26 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>The page you were looking for doesn't exist (404)</title>
5
+ <style type="text/css">
6
+ body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
7
+ div.dialog {
8
+ width: 25em;
9
+ padding: 0 4em;
10
+ margin: 4em auto 0 auto;
11
+ border: 1px solid #ccc;
12
+ border-right-color: #999;
13
+ border-bottom-color: #999;
14
+ }
15
+ h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <!-- This file lives in public/404.html -->
21
+ <div class="dialog">
22
+ <h1>The page you were looking for doesn't exist.</h1>
23
+ <p>You may have mistyped the address or the page may have moved.</p>
24
+ </div>
25
+ </body>
26
+ </html>
@@ -0,0 +1,26 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>The change you wanted was rejected (422)</title>
5
+ <style type="text/css">
6
+ body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
7
+ div.dialog {
8
+ width: 25em;
9
+ padding: 0 4em;
10
+ margin: 4em auto 0 auto;
11
+ border: 1px solid #ccc;
12
+ border-right-color: #999;
13
+ border-bottom-color: #999;
14
+ }
15
+ h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <!-- This file lives in public/422.html -->
21
+ <div class="dialog">
22
+ <h1>The change you wanted was rejected.</h1>
23
+ <p>Maybe you tried to change something you didn't have access to.</p>
24
+ </div>
25
+ </body>
26
+ </html>
@@ -0,0 +1,25 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>We're sorry, but something went wrong (500)</title>
5
+ <style type="text/css">
6
+ body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
7
+ div.dialog {
8
+ width: 25em;
9
+ padding: 0 4em;
10
+ margin: 4em auto 0 auto;
11
+ border: 1px solid #ccc;
12
+ border-right-color: #999;
13
+ border-bottom-color: #999;
14
+ }
15
+ h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <!-- This file lives in public/500.html -->
21
+ <div class="dialog">
22
+ <h1>We're sorry, but something went wrong.</h1>
23
+ </div>
24
+ </body>
25
+ </html>
File without changes
@@ -0,0 +1,5 @@
1
+ # See http://www.robotstxt.org/wc/norobots.html for documentation on how to use the robots.txt file
2
+ #
3
+ # To ban all spiders from the entire site uncomment the next two lines:
4
+ # User-Agent: *
5
+ # Disallow: /
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env ruby
2
+ # This command will automatically be run when you run "rails" with Rails 3 gems installed from the root of your application.
3
+
4
+ APP_PATH = File.expand_path('../../config/application', __FILE__)
5
+ require File.expand_path('../../config/boot', __FILE__)
6
+ require 'rails/commands'
@@ -0,0 +1,80 @@
1
+ require 'spec_helper'
2
+
3
+ describe LtiProvider::Launch do
4
+ describe "validations" do
5
+ subject(:launch) do
6
+ l = LtiProvider::Launch.new
7
+ l.provider_params = {}
8
+ l
9
+ end
10
+
11
+ it { should validate_presence_of :canvas_url }
12
+ it { should validate_presence_of :nonce }
13
+ it { should validate_presence_of :provider_params }
14
+ end
15
+
16
+ describe ".initialize_from_request" do
17
+ let(:provider) do
18
+ p = double('provider')
19
+ p.stub(
20
+ to_params: {
21
+ 'custom_canvas_course_id' => 1,
22
+ 'custom_canvas_user_id' => 2,
23
+ 'oauth_nonce' => 'nonce',
24
+ 'tool_consumer_instance_guid' => "123abc",
25
+ },
26
+ launch_presentation_return_url: "http://example.com",
27
+ consumer_key: "key",
28
+ consumer_secret: "secret",
29
+ valid_request?: true,
30
+ request_oauth_timestamp: Time.now
31
+ )
32
+ p
33
+ end
34
+
35
+ let(:request) do
36
+ r = double('request')
37
+ r.stub(env: {'HTTP_REFERER' => "http://example.com"})
38
+ r
39
+ end
40
+
41
+ subject(:launch) { LtiProvider::Launch.initialize_from_request(provider, request) }
42
+
43
+ its(:course_id) { should == 1 }
44
+ its(:tool_consumer_instance_guid) { should == '123abc' }
45
+ its(:user_id) { should == 2 }
46
+ its(:nonce) { should == 'nonce' }
47
+ its(:account_id) { should be_nil }
48
+ its(:canvas_url) { should == 'http://example.com' }
49
+ end
50
+
51
+ describe "xml_config" do
52
+ let(:lti_launch_url) { "http://example.com/launch" }
53
+ let(:doc) { Nokogiri::XML(xml) }
54
+
55
+ subject(:xml) { LtiProvider::Launch.xml_config(lti_launch_url) }
56
+
57
+ it { should match(/\<\?xml/) }
58
+
59
+ it "includes the launch URL" do
60
+ doc.xpath('//blti:launch_url').text.should match lti_launch_url
61
+ end
62
+
63
+ it "includes the course_navigation option and url + text properties" do
64
+ nav = doc.xpath('//lticm:options[@name="course_navigation"]')
65
+ nav.xpath('lticm:property[@name="url"]').text.should == 'http://override.example.com/launch'
66
+ nav.xpath('lticm:property[@name="text"]').text.should == "Dummy"
67
+ nav.xpath('lticm:property[@name="visibility"]').text.should == "admins"
68
+ end
69
+
70
+ it "includes account_navigation" do
71
+ nav = doc.xpath('//lticm:options[@name="account_navigation"]')
72
+ expect(nav).to be
73
+ end
74
+
75
+ it "includes no user_navigation" do
76
+ nav = doc.xpath('//lticm:options[@name="user_navigation"]')
77
+ expect(nav).to be_empty
78
+ end
79
+ end
80
+ end
@@ -0,0 +1,55 @@
1
+ # This file is copied to spec/ when you run 'rails generate rspec:install'
2
+ ENV["RAILS_ENV"] ||= 'test'
3
+ require File.expand_path("../dummy/config/environment", __FILE__)
4
+ require 'rspec/rails'
5
+ require 'rspec/autorun'
6
+ require 'webmock/rspec'
7
+ require 'shoulda/matchers'
8
+ require 'nokogiri'
9
+
10
+ # Requires supporting ruby files with custom matchers and macros, etc,
11
+ # in spec/support/ and its subdirectories.
12
+ Dir[Rails.root.join("spec/support/**/*.rb")].each {|f| require f}
13
+
14
+ module LtiProvider
15
+ module UrlHelpers
16
+ def lti_provider
17
+ ::LtiProvider::Engine.routes.url_helpers
18
+ end
19
+
20
+ def main_app
21
+ ::Dummy::Application.routes.url_helpers
22
+ end
23
+ end
24
+ end
25
+
26
+ RSpec.configure do |config|
27
+ # ## Mock Framework
28
+ #
29
+ # If you prefer to use mocha, flexmock or RR, uncomment the appropriate line:
30
+ #
31
+ # config.mock_with :mocha
32
+ # config.mock_with :flexmock
33
+ # config.mock_with :rr
34
+
35
+ # Remove this line if you're not using ActiveRecord or ActiveRecord fixtures
36
+ config.fixture_path = "#{::Rails.root}/spec/fixtures"
37
+
38
+ # If you're not using ActiveRecord, or you'd prefer not to run each of your
39
+ # examples within a transaction, remove the following line or assign false
40
+ # instead of true.
41
+ config.use_transactional_fixtures = true
42
+
43
+ # If true, the base class of anonymous controllers will be inferred
44
+ # automatically. This will be the default behavior in future versions of
45
+ # rspec-rails.
46
+ config.infer_base_class_for_anonymous_controllers = false
47
+
48
+ # Run specs in random order to surface order dependencies. If you find an
49
+ # order dependency and want to debug it, you can fix the order by providing
50
+ # the seed, which is printed after each run.
51
+ # --seed 1234
52
+ config.order = "random"
53
+
54
+ config.include LtiProvider::UrlHelpers, type: :controller
55
+ end
metadata ADDED
@@ -0,0 +1,337 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: lti_provider_engine
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Dave Donahue
9
+ - Adam Anderson
10
+ - Simon Williams
11
+ autorequire:
12
+ bindir: bin
13
+ cert_chain: []
14
+ date: 2013-11-13 00:00:00.000000000 Z
15
+ dependencies:
16
+ - !ruby/object:Gem::Dependency
17
+ name: rails
18
+ requirement: !ruby/object:Gem::Requirement
19
+ none: false
20
+ requirements:
21
+ - - ~>
22
+ - !ruby/object:Gem::Version
23
+ version: 3.2.12
24
+ type: :runtime
25
+ prerelease: false
26
+ version_requirements: !ruby/object:Gem::Requirement
27
+ none: false
28
+ requirements:
29
+ - - ~>
30
+ - !ruby/object:Gem::Version
31
+ version: 3.2.12
32
+ - !ruby/object:Gem::Dependency
33
+ name: ims-lti
34
+ requirement: !ruby/object:Gem::Requirement
35
+ none: false
36
+ requirements:
37
+ - - '='
38
+ - !ruby/object:Gem::Version
39
+ version: 1.1.4
40
+ type: :runtime
41
+ prerelease: false
42
+ version_requirements: !ruby/object:Gem::Requirement
43
+ none: false
44
+ requirements:
45
+ - - '='
46
+ - !ruby/object:Gem::Version
47
+ version: 1.1.4
48
+ - !ruby/object:Gem::Dependency
49
+ name: sqlite3
50
+ requirement: !ruby/object:Gem::Requirement
51
+ none: false
52
+ requirements:
53
+ - - ! '>='
54
+ - !ruby/object:Gem::Version
55
+ version: '0'
56
+ type: :development
57
+ prerelease: false
58
+ version_requirements: !ruby/object:Gem::Requirement
59
+ none: false
60
+ requirements:
61
+ - - ! '>='
62
+ - !ruby/object:Gem::Version
63
+ version: '0'
64
+ - !ruby/object:Gem::Dependency
65
+ name: nokogiri
66
+ requirement: !ruby/object:Gem::Requirement
67
+ none: false
68
+ requirements:
69
+ - - ! '>='
70
+ - !ruby/object:Gem::Version
71
+ version: '0'
72
+ type: :development
73
+ prerelease: false
74
+ version_requirements: !ruby/object:Gem::Requirement
75
+ none: false
76
+ requirements:
77
+ - - ! '>='
78
+ - !ruby/object:Gem::Version
79
+ version: '0'
80
+ - !ruby/object:Gem::Dependency
81
+ name: rspec
82
+ requirement: !ruby/object:Gem::Requirement
83
+ none: false
84
+ requirements:
85
+ - - ! '>='
86
+ - !ruby/object:Gem::Version
87
+ version: '0'
88
+ type: :development
89
+ prerelease: false
90
+ version_requirements: !ruby/object:Gem::Requirement
91
+ none: false
92
+ requirements:
93
+ - - ! '>='
94
+ - !ruby/object:Gem::Version
95
+ version: '0'
96
+ - !ruby/object:Gem::Dependency
97
+ name: rspec-rails
98
+ requirement: !ruby/object:Gem::Requirement
99
+ none: false
100
+ requirements:
101
+ - - ! '>='
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ none: false
108
+ requirements:
109
+ - - ! '>='
110
+ - !ruby/object:Gem::Version
111
+ version: '0'
112
+ - !ruby/object:Gem::Dependency
113
+ name: rspec-rails-mocha
114
+ requirement: !ruby/object:Gem::Requirement
115
+ none: false
116
+ requirements:
117
+ - - ! '>='
118
+ - !ruby/object:Gem::Version
119
+ version: '0'
120
+ type: :development
121
+ prerelease: false
122
+ version_requirements: !ruby/object:Gem::Requirement
123
+ none: false
124
+ requirements:
125
+ - - ! '>='
126
+ - !ruby/object:Gem::Version
127
+ version: '0'
128
+ - !ruby/object:Gem::Dependency
129
+ name: shoulda-matchers
130
+ requirement: !ruby/object:Gem::Requirement
131
+ none: false
132
+ requirements:
133
+ - - ! '>='
134
+ - !ruby/object:Gem::Version
135
+ version: '0'
136
+ type: :development
137
+ prerelease: false
138
+ version_requirements: !ruby/object:Gem::Requirement
139
+ none: false
140
+ requirements:
141
+ - - ! '>='
142
+ - !ruby/object:Gem::Version
143
+ version: '0'
144
+ - !ruby/object:Gem::Dependency
145
+ name: webmock
146
+ requirement: !ruby/object:Gem::Requirement
147
+ none: false
148
+ requirements:
149
+ - - ! '>='
150
+ - !ruby/object:Gem::Version
151
+ version: '0'
152
+ type: :development
153
+ prerelease: false
154
+ version_requirements: !ruby/object:Gem::Requirement
155
+ none: false
156
+ requirements:
157
+ - - ! '>='
158
+ - !ruby/object:Gem::Version
159
+ version: '0'
160
+ - !ruby/object:Gem::Dependency
161
+ name: debugger
162
+ requirement: !ruby/object:Gem::Requirement
163
+ none: false
164
+ requirements:
165
+ - - ! '>='
166
+ - !ruby/object:Gem::Version
167
+ version: '0'
168
+ type: :development
169
+ prerelease: false
170
+ version_requirements: !ruby/object:Gem::Requirement
171
+ none: false
172
+ requirements:
173
+ - - ! '>='
174
+ - !ruby/object:Gem::Version
175
+ version: '0'
176
+ - !ruby/object:Gem::Dependency
177
+ name: guard-rspec
178
+ requirement: !ruby/object:Gem::Requirement
179
+ none: false
180
+ requirements:
181
+ - - ! '>='
182
+ - !ruby/object:Gem::Version
183
+ version: '0'
184
+ type: :development
185
+ prerelease: false
186
+ version_requirements: !ruby/object:Gem::Requirement
187
+ none: false
188
+ requirements:
189
+ - - ! '>='
190
+ - !ruby/object:Gem::Version
191
+ version: '0'
192
+ - !ruby/object:Gem::Dependency
193
+ name: rb-fsevent
194
+ requirement: !ruby/object:Gem::Requirement
195
+ none: false
196
+ requirements:
197
+ - - ! '>='
198
+ - !ruby/object:Gem::Version
199
+ version: '0'
200
+ type: :development
201
+ prerelease: false
202
+ version_requirements: !ruby/object:Gem::Requirement
203
+ none: false
204
+ requirements:
205
+ - - ! '>='
206
+ - !ruby/object:Gem::Version
207
+ version: '0'
208
+ description:
209
+ email:
210
+ - adam.anderson@12spokes.com
211
+ - simon@instructure.com
212
+ executables: []
213
+ extensions: []
214
+ extra_rdoc_files: []
215
+ files:
216
+ - app/controllers/lti_provider/application_controller.rb
217
+ - app/controllers/lti_provider/lti_controller.rb
218
+ - app/models/lti_provider/launch.rb
219
+ - app/views/layouts/lti_provider/application.html.erb
220
+ - app/views/lti_provider/lti/cookie_test.html.erb
221
+ - config/lti.yml.example
222
+ - config/lti_xml.yml.example
223
+ - config/routes.rb
224
+ - db/migrate/20130319050003_create_lti_provider_launches.rb
225
+ - lib/lti_provider/config.rb
226
+ - lib/lti_provider/engine.rb
227
+ - lib/lti_provider/lti_application.rb
228
+ - lib/lti_provider/lti_config.rb
229
+ - lib/lti_provider/lti_xml_config.rb
230
+ - lib/lti_provider/version.rb
231
+ - lib/lti_provider/xml_config.rb
232
+ - lib/lti_provider.rb
233
+ - lib/tasks/lti_provider_tasks.rake
234
+ - MIT-LICENSE
235
+ - Rakefile
236
+ - README.md
237
+ - spec/controllers/lti_provider/lti_controller_spec.rb
238
+ - spec/dummy/app/controllers/application_controller.rb
239
+ - spec/dummy/app/controllers/welcome_controller.rb
240
+ - spec/dummy/config/application.rb
241
+ - spec/dummy/config/boot.rb
242
+ - spec/dummy/config/cucumber.yml
243
+ - spec/dummy/config/database.yml
244
+ - spec/dummy/config/environment.rb
245
+ - spec/dummy/config/environments/development.rb
246
+ - spec/dummy/config/environments/production.rb
247
+ - spec/dummy/config/environments/test.rb
248
+ - spec/dummy/config/initializers/backtrace_silencers.rb
249
+ - spec/dummy/config/initializers/inflections.rb
250
+ - spec/dummy/config/initializers/mime_types.rb
251
+ - spec/dummy/config/initializers/secret_token.rb
252
+ - spec/dummy/config/initializers/session_store.rb
253
+ - spec/dummy/config/initializers/wrap_parameters.rb
254
+ - spec/dummy/config/locales/en.yml
255
+ - spec/dummy/config/lti.yml
256
+ - spec/dummy/config/lti_xml.yml
257
+ - spec/dummy/config/routes.rb
258
+ - spec/dummy/config.ru
259
+ - spec/dummy/db/development.sqlite3
260
+ - spec/dummy/db/migrate/20130319050206_create_lti_provider_launches.lti_provider.rb
261
+ - spec/dummy/db/schema.rb
262
+ - spec/dummy/db/test.sqlite3
263
+ - spec/dummy/log/development.log
264
+ - spec/dummy/log/test.log
265
+ - spec/dummy/public/404.html
266
+ - spec/dummy/public/422.html
267
+ - spec/dummy/public/500.html
268
+ - spec/dummy/public/favicon.ico
269
+ - spec/dummy/public/robots.txt
270
+ - spec/dummy/Rakefile
271
+ - spec/dummy/script/rails
272
+ - spec/models/lti_provider/launch_spec.rb
273
+ - spec/spec_helper.rb
274
+ homepage: https://github.com/instructure/lti_provider_engine
275
+ licenses:
276
+ - MIT
277
+ post_install_message:
278
+ rdoc_options: []
279
+ require_paths:
280
+ - lib
281
+ required_ruby_version: !ruby/object:Gem::Requirement
282
+ none: false
283
+ requirements:
284
+ - - ! '>='
285
+ - !ruby/object:Gem::Version
286
+ version: '0'
287
+ required_rubygems_version: !ruby/object:Gem::Requirement
288
+ none: false
289
+ requirements:
290
+ - - ! '>='
291
+ - !ruby/object:Gem::Version
292
+ version: '0'
293
+ requirements: []
294
+ rubyforge_project:
295
+ rubygems_version: 1.8.23
296
+ signing_key:
297
+ specification_version: 3
298
+ summary: LtiProvider is a mountable engine for handling the LTI launch and exposing
299
+ LTI parameters in your rails app.
300
+ test_files:
301
+ - spec/controllers/lti_provider/lti_controller_spec.rb
302
+ - spec/dummy/app/controllers/application_controller.rb
303
+ - spec/dummy/app/controllers/welcome_controller.rb
304
+ - spec/dummy/config/application.rb
305
+ - spec/dummy/config/boot.rb
306
+ - spec/dummy/config/cucumber.yml
307
+ - spec/dummy/config/database.yml
308
+ - spec/dummy/config/environment.rb
309
+ - spec/dummy/config/environments/development.rb
310
+ - spec/dummy/config/environments/production.rb
311
+ - spec/dummy/config/environments/test.rb
312
+ - spec/dummy/config/initializers/backtrace_silencers.rb
313
+ - spec/dummy/config/initializers/inflections.rb
314
+ - spec/dummy/config/initializers/mime_types.rb
315
+ - spec/dummy/config/initializers/secret_token.rb
316
+ - spec/dummy/config/initializers/session_store.rb
317
+ - spec/dummy/config/initializers/wrap_parameters.rb
318
+ - spec/dummy/config/locales/en.yml
319
+ - spec/dummy/config/lti.yml
320
+ - spec/dummy/config/lti_xml.yml
321
+ - spec/dummy/config/routes.rb
322
+ - spec/dummy/config.ru
323
+ - spec/dummy/db/development.sqlite3
324
+ - spec/dummy/db/migrate/20130319050206_create_lti_provider_launches.lti_provider.rb
325
+ - spec/dummy/db/schema.rb
326
+ - spec/dummy/db/test.sqlite3
327
+ - spec/dummy/log/development.log
328
+ - spec/dummy/log/test.log
329
+ - spec/dummy/public/404.html
330
+ - spec/dummy/public/422.html
331
+ - spec/dummy/public/500.html
332
+ - spec/dummy/public/favicon.ico
333
+ - spec/dummy/public/robots.txt
334
+ - spec/dummy/Rakefile
335
+ - spec/dummy/script/rails
336
+ - spec/models/lti_provider/launch_spec.rb
337
+ - spec/spec_helper.rb