btspm 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (66) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.rdoc +3 -0
  4. data/Rakefile +23 -0
  5. data/app/assets/javascripts/btspm/application.js +13 -0
  6. data/app/assets/stylesheets/btspm/application.css +15 -0
  7. data/app/controllers/btspm/application_controller.rb +4 -0
  8. data/app/helpers/btspm/application_helper.rb +4 -0
  9. data/app/views/layouts/btspm/application.html.erb +14 -0
  10. data/config/routes.rb +2 -0
  11. data/lib/btspm/app_startup.rb +25 -0
  12. data/lib/btspm/eager_loadable.rb +38 -0
  13. data/lib/btspm/engine.rb +9 -0
  14. data/lib/btspm/presenters.rb +85 -0
  15. data/lib/btspm/version.rb +3 -0
  16. data/lib/btspm.rb +4 -0
  17. data/lib/tasks/btspm_tasks.rake +4 -0
  18. data/spec/dummy/README.rdoc +28 -0
  19. data/spec/dummy/Rakefile +6 -0
  20. data/spec/dummy/app/assets/javascripts/application.js +13 -0
  21. data/spec/dummy/app/assets/stylesheets/application.css +15 -0
  22. data/spec/dummy/app/controllers/application_controller.rb +5 -0
  23. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  24. data/spec/dummy/app/models/post.rb +5 -0
  25. data/spec/dummy/app/models/user.rb +5 -0
  26. data/spec/dummy/app/views/layouts/application.html.erb +14 -0
  27. data/spec/dummy/bin/bundle +3 -0
  28. data/spec/dummy/bin/rails +4 -0
  29. data/spec/dummy/bin/rake +4 -0
  30. data/spec/dummy/config/application.rb +29 -0
  31. data/spec/dummy/config/boot.rb +5 -0
  32. data/spec/dummy/config/database.yml +25 -0
  33. data/spec/dummy/config/env-props.yml +5 -0
  34. data/spec/dummy/config/environment.rb +5 -0
  35. data/spec/dummy/config/environments/development.rb +37 -0
  36. data/spec/dummy/config/environments/production.rb +82 -0
  37. data/spec/dummy/config/environments/test.rb +39 -0
  38. data/spec/dummy/config/initializers/assets.rb +8 -0
  39. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  40. data/spec/dummy/config/initializers/cookies_serializer.rb +3 -0
  41. data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  42. data/spec/dummy/config/initializers/inflections.rb +16 -0
  43. data/spec/dummy/config/initializers/mime_types.rb +4 -0
  44. data/spec/dummy/config/initializers/session_store.rb +3 -0
  45. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  46. data/spec/dummy/config/locales/en.yml +23 -0
  47. data/spec/dummy/config/routes.rb +4 -0
  48. data/spec/dummy/config/secrets.yml +22 -0
  49. data/spec/dummy/config.ru +4 -0
  50. data/spec/dummy/db/development.sqlite3 +0 -0
  51. data/spec/dummy/db/migrate/20170825193344_create_users.rb +6 -0
  52. data/spec/dummy/db/migrate/20170825193355_create_posts.rb +7 -0
  53. data/spec/dummy/db/schema.rb +23 -0
  54. data/spec/dummy/db/test.sqlite3 +0 -0
  55. data/spec/dummy/log/development.log +15 -0
  56. data/spec/dummy/log/test.log +557 -0
  57. data/spec/dummy/public/404.html +67 -0
  58. data/spec/dummy/public/422.html +67 -0
  59. data/spec/dummy/public/500.html +66 -0
  60. data/spec/dummy/public/favicon.ico +0 -0
  61. data/spec/fixtures/test-env-props.yml +0 -0
  62. data/spec/lib/app_startup_spec.rb +14 -0
  63. data/spec/lib/eager_loadable_spec.rb +32 -0
  64. data/spec/lib/presenters_spec.rb +144 -0
  65. data/spec/spec_helper.rb +25 -0
  66. metadata +226 -0
@@ -0,0 +1,67 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>The change you wanted was rejected (422)</title>
5
+ <meta name="viewport" content="width=device-width,initial-scale=1">
6
+ <style>
7
+ body {
8
+ background-color: #EFEFEF;
9
+ color: #2E2F30;
10
+ text-align: center;
11
+ font-family: arial, sans-serif;
12
+ margin: 0;
13
+ }
14
+
15
+ div.dialog {
16
+ width: 95%;
17
+ max-width: 33em;
18
+ margin: 4em auto 0;
19
+ }
20
+
21
+ div.dialog > div {
22
+ border: 1px solid #CCC;
23
+ border-right-color: #999;
24
+ border-left-color: #999;
25
+ border-bottom-color: #BBB;
26
+ border-top: #B00100 solid 4px;
27
+ border-top-left-radius: 9px;
28
+ border-top-right-radius: 9px;
29
+ background-color: white;
30
+ padding: 7px 12% 0;
31
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
32
+ }
33
+
34
+ h1 {
35
+ font-size: 100%;
36
+ color: #730E15;
37
+ line-height: 1.5em;
38
+ }
39
+
40
+ div.dialog > p {
41
+ margin: 0 0 1em;
42
+ padding: 1em;
43
+ background-color: #F7F7F7;
44
+ border: 1px solid #CCC;
45
+ border-right-color: #999;
46
+ border-left-color: #999;
47
+ border-bottom-color: #999;
48
+ border-bottom-left-radius: 4px;
49
+ border-bottom-right-radius: 4px;
50
+ border-top-color: #DADADA;
51
+ color: #666;
52
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
53
+ }
54
+ </style>
55
+ </head>
56
+
57
+ <body>
58
+ <!-- This file lives in public/422.html -->
59
+ <div class="dialog">
60
+ <div>
61
+ <h1>The change you wanted was rejected.</h1>
62
+ <p>Maybe you tried to change something you didn't have access to.</p>
63
+ </div>
64
+ <p>If you are the application owner check the logs for more information.</p>
65
+ </div>
66
+ </body>
67
+ </html>
@@ -0,0 +1,66 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>We're sorry, but something went wrong (500)</title>
5
+ <meta name="viewport" content="width=device-width,initial-scale=1">
6
+ <style>
7
+ body {
8
+ background-color: #EFEFEF;
9
+ color: #2E2F30;
10
+ text-align: center;
11
+ font-family: arial, sans-serif;
12
+ margin: 0;
13
+ }
14
+
15
+ div.dialog {
16
+ width: 95%;
17
+ max-width: 33em;
18
+ margin: 4em auto 0;
19
+ }
20
+
21
+ div.dialog > div {
22
+ border: 1px solid #CCC;
23
+ border-right-color: #999;
24
+ border-left-color: #999;
25
+ border-bottom-color: #BBB;
26
+ border-top: #B00100 solid 4px;
27
+ border-top-left-radius: 9px;
28
+ border-top-right-radius: 9px;
29
+ background-color: white;
30
+ padding: 7px 12% 0;
31
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
32
+ }
33
+
34
+ h1 {
35
+ font-size: 100%;
36
+ color: #730E15;
37
+ line-height: 1.5em;
38
+ }
39
+
40
+ div.dialog > p {
41
+ margin: 0 0 1em;
42
+ padding: 1em;
43
+ background-color: #F7F7F7;
44
+ border: 1px solid #CCC;
45
+ border-right-color: #999;
46
+ border-left-color: #999;
47
+ border-bottom-color: #999;
48
+ border-bottom-left-radius: 4px;
49
+ border-bottom-right-radius: 4px;
50
+ border-top-color: #DADADA;
51
+ color: #666;
52
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
53
+ }
54
+ </style>
55
+ </head>
56
+
57
+ <body>
58
+ <!-- This file lives in public/500.html -->
59
+ <div class="dialog">
60
+ <div>
61
+ <h1>We're sorry, but something went wrong.</h1>
62
+ </div>
63
+ <p>If you are the application owner check the logs for more information.</p>
64
+ </div>
65
+ </body>
66
+ </html>
File without changes
File without changes
@@ -0,0 +1,14 @@
1
+ require 'spec_helper'
2
+ require 'btspm/app_startup'
3
+
4
+ RSpec.describe Btspm::AppStartup do
5
+
6
+ describe '#establish_env_variables_hash' do
7
+ it 'should return hash with env variables' do
8
+ path = 'config/env-props.yml'
9
+ response = Btspm::AppStartup.new(config_file_path: path, environment: Rails.env).establish_env_variables_hash
10
+ expect(response).to include Rails.env => 'Testing Startup Env'
11
+ end
12
+ end
13
+
14
+ end
@@ -0,0 +1,32 @@
1
+ require 'spec_helper'
2
+ require 'btspm/eager_loadable'
3
+
4
+ RSpec.describe Btspm::EagerLoadable do
5
+
6
+ module Btspm
7
+ class Dummy
8
+ end
9
+ end
10
+
11
+ let!(:loader) {Btspm::Dummy.new.extend(Btspm::EagerLoadable)}
12
+
13
+ describe '#eager_load' do
14
+ it 'should return collection with pre-loaded associations for active_record_relation' do
15
+ user = User.create
16
+ user.posts = [Post.create]
17
+
18
+ #Activerecord relation
19
+ record_relation = loader.eager_load(User.where(id: user.id), :posts)
20
+ expect(record_relation.first.association(:posts).loaded?).to be true
21
+
22
+ #Array
23
+ array = loader.eager_load([user], :posts)
24
+ expect(array.first.association(:posts).loaded?).to be true
25
+
26
+ #Single record
27
+ record = loader.eager_load(user, :posts)
28
+ expect(record.association(:posts).loaded?).to be true
29
+ end
30
+ end
31
+
32
+ end
@@ -0,0 +1,144 @@
1
+ require 'spec_helper'
2
+ require 'btspm/presenters'
3
+
4
+ class Test
5
+ attr_accessor :name
6
+
7
+ def initialize(name)
8
+ @name = name
9
+ end
10
+ end
11
+
12
+ class TestsPresenter
13
+ include Btspm::Presenters::Presentable
14
+
15
+ class Scalar < Btspm::Presenters::ScalarPresenter
16
+ def access_view_context
17
+ h.test_method
18
+ end
19
+
20
+ def access_delegated_object
21
+ name
22
+ end
23
+
24
+ def additional_local_param
25
+ @additional_param
26
+ end
27
+ end
28
+
29
+ class Enum < Btspm::Presenters::EnumPresenter
30
+ end
31
+ end
32
+
33
+ class FakeViewContext
34
+ def test_method
35
+ :accessible
36
+ end
37
+ end
38
+
39
+ RSpec.describe TestsPresenter do
40
+
41
+ describe '#TestsPresenter' do
42
+ it 'returns a scalar presenter for non-enumerables' do
43
+ presenter = TestsPresenter.present(Test.new('one'), FakeViewContext.new)
44
+ expect(presenter).to be_a(TestsPresenter::Scalar)
45
+ end
46
+
47
+ it 'returns a enum presenter for enumerables' do
48
+ presenter = TestsPresenter.present([Test.new('one')], FakeViewContext.new)
49
+ expect(presenter).to be_a(TestsPresenter::Enum)
50
+ end
51
+
52
+ it 'enum presenter #each wraps elements in scalar presenter' do
53
+ presenter = TestsPresenter.present([Test.new('one')], FakeViewContext.new)
54
+ expect(presenter.first).to be_a(TestsPresenter::Scalar)
55
+ end
56
+
57
+ it 'knows ActiveRecord::Relations are enumerables too.' do
58
+ presenter = TestsPresenter.present(User.where('1 = 1'), FakeViewContext.new)
59
+ expect(presenter).to be_a(TestsPresenter::Enum)
60
+ end
61
+
62
+ it 'allows access to the view context' do
63
+ presenter = TestsPresenter.present(Test.new('one'), FakeViewContext.new)
64
+ expect(presenter.access_view_context).to eq(:accessible)
65
+ end
66
+
67
+ it 'allows access to delegated object' do
68
+ presenter = TestsPresenter.present(Test.new('one'), FakeViewContext.new)
69
+ expect(presenter.name).to eq('one')
70
+ end
71
+
72
+ it 'can return delegated object' do
73
+ test = Test.new('one')
74
+ presenter = TestsPresenter.present(test, FakeViewContext.new)
75
+ expect(presenter.data_object).to eql(test)
76
+ end
77
+
78
+ it 'allows access to additional local parameters passed into present' do
79
+ locals = {additional_param: 'two'}
80
+ presenter = TestsPresenter.present(Test.new('one'), FakeViewContext.new, locals)
81
+ expect(presenter.additional_local_param).to eql(locals[:additional_param])
82
+ end
83
+
84
+ it 'allows access to additional local parameters for each object in an enumerable' do
85
+ locals = {additional_param: 'three'}
86
+ presenters = TestsPresenter.present([Test.new('one'), Test.new('two')], FakeViewContext.new, locals)
87
+ presenters.each do |presenter|
88
+ expect(presenter.additional_local_param).to eql(locals[:additional_param])
89
+ end
90
+ end
91
+ end
92
+ end
93
+
94
+ class UsersPresenter
95
+ include Btspm::Presenters::Presentable
96
+
97
+ class Scalar < Btspm::Presenters::ScalarPresenter
98
+ end
99
+
100
+ class Enum < Btspm::Presenters::EnumPresenter
101
+ end
102
+ end
103
+
104
+ describe 'present helper method' do
105
+
106
+ it 'is exposed to Rails.' do
107
+ ActionController::Base.instance_methods.include?(:present)
108
+ ActionView::Base.instance_methods.include?(:present)
109
+ end
110
+
111
+ it 'uses the right view context' do
112
+ controller = ActionController::Base.new
113
+ view = controller.view_context
114
+
115
+ presenter = controller.present(Test.new('one'))
116
+ expect(presenter.h).to be_a(ActionView::Base)
117
+
118
+ presenter = view.present(Test.new('one'))
119
+ expect(presenter.h).to be_a(ActionView::Base)
120
+ end
121
+
122
+ it 'infers the correct presenter' do
123
+ controller = ActionController::Base.new
124
+
125
+ presenter = controller.present(Test.new('one'))
126
+ expect(presenter).to be_a(TestsPresenter::Scalar)
127
+
128
+ presenter = controller.present([Test.new('one')])
129
+ expect(presenter).to be_a(TestsPresenter::Enum)
130
+
131
+ presenter = controller.present(User.new)
132
+ expect(presenter).to be_a(UsersPresenter::Scalar)
133
+
134
+ presenter = controller.present(User.where('1 = 1'))
135
+ expect(presenter).to be_a(UsersPresenter::Enum)
136
+ end
137
+
138
+ it 'can override default presenter' do
139
+ controller = ActionController::Base.new
140
+
141
+ presenter = controller.present(Test.new('one'), UsersPresenter)
142
+ expect(presenter).to be_a(UsersPresenter::Scalar)
143
+ end
144
+ end
@@ -0,0 +1,25 @@
1
+ require 'rubygems'
2
+
3
+ ENV['RAILS_ENV'] ||= 'test'
4
+
5
+ require File.expand_path('../dummy/config/environment.rb', __FILE__)
6
+ require 'rspec/rails'
7
+
8
+ Rails.backtrace_cleaner.remove_silencers!
9
+ # Load spec_support files
10
+ Dir["#{File.dirname(__FILE__)}/spec_support/**/*.rb"].each { |f| require f }
11
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
12
+
13
+ RSpec.configure do |config|
14
+ config.mock_with :rspec
15
+ config.use_transactional_fixtures = true
16
+ config.infer_base_class_for_anonymous_controllers = false
17
+ config.infer_spec_type_from_file_location!
18
+ config.order = 'random'
19
+ end
20
+
21
+ require 'btspm/app_startup'
22
+
23
+ ENV_PROPS = Btspm::AppStartup.new(config_file_path: ("#{File.dirname(__FILE__)}/dummy/config/env-props.yml"), environment: Rails.env).establish_env_variables_hash
24
+
25
+
metadata ADDED
@@ -0,0 +1,226 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: btspm
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - bTspm
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2017-08-26 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rails
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 4.2.2
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 4.2.2
27
+ - !ruby/object:Gem::Dependency
28
+ name: sqlite3
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rspec-rails
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: tzinfo-data
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: simplecov
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ description: Currently has presenters and eager_loads
84
+ email:
85
+ - bTspm10@gmail.com
86
+ executables: []
87
+ extensions: []
88
+ extra_rdoc_files: []
89
+ files:
90
+ - MIT-LICENSE
91
+ - README.rdoc
92
+ - Rakefile
93
+ - app/assets/javascripts/btspm/application.js
94
+ - app/assets/stylesheets/btspm/application.css
95
+ - app/controllers/btspm/application_controller.rb
96
+ - app/helpers/btspm/application_helper.rb
97
+ - app/views/layouts/btspm/application.html.erb
98
+ - config/routes.rb
99
+ - lib/btspm.rb
100
+ - lib/btspm/app_startup.rb
101
+ - lib/btspm/eager_loadable.rb
102
+ - lib/btspm/engine.rb
103
+ - lib/btspm/presenters.rb
104
+ - lib/btspm/version.rb
105
+ - lib/tasks/btspm_tasks.rake
106
+ - spec/dummy/README.rdoc
107
+ - spec/dummy/Rakefile
108
+ - spec/dummy/app/assets/javascripts/application.js
109
+ - spec/dummy/app/assets/stylesheets/application.css
110
+ - spec/dummy/app/controllers/application_controller.rb
111
+ - spec/dummy/app/helpers/application_helper.rb
112
+ - spec/dummy/app/models/post.rb
113
+ - spec/dummy/app/models/user.rb
114
+ - spec/dummy/app/views/layouts/application.html.erb
115
+ - spec/dummy/bin/bundle
116
+ - spec/dummy/bin/rails
117
+ - spec/dummy/bin/rake
118
+ - spec/dummy/config.ru
119
+ - spec/dummy/config/application.rb
120
+ - spec/dummy/config/boot.rb
121
+ - spec/dummy/config/database.yml
122
+ - spec/dummy/config/env-props.yml
123
+ - spec/dummy/config/environment.rb
124
+ - spec/dummy/config/environments/development.rb
125
+ - spec/dummy/config/environments/production.rb
126
+ - spec/dummy/config/environments/test.rb
127
+ - spec/dummy/config/initializers/assets.rb
128
+ - spec/dummy/config/initializers/backtrace_silencers.rb
129
+ - spec/dummy/config/initializers/cookies_serializer.rb
130
+ - spec/dummy/config/initializers/filter_parameter_logging.rb
131
+ - spec/dummy/config/initializers/inflections.rb
132
+ - spec/dummy/config/initializers/mime_types.rb
133
+ - spec/dummy/config/initializers/session_store.rb
134
+ - spec/dummy/config/initializers/wrap_parameters.rb
135
+ - spec/dummy/config/locales/en.yml
136
+ - spec/dummy/config/routes.rb
137
+ - spec/dummy/config/secrets.yml
138
+ - spec/dummy/db/development.sqlite3
139
+ - spec/dummy/db/migrate/20170825193344_create_users.rb
140
+ - spec/dummy/db/migrate/20170825193355_create_posts.rb
141
+ - spec/dummy/db/schema.rb
142
+ - spec/dummy/db/test.sqlite3
143
+ - spec/dummy/log/development.log
144
+ - spec/dummy/log/test.log
145
+ - spec/dummy/public/404.html
146
+ - spec/dummy/public/422.html
147
+ - spec/dummy/public/500.html
148
+ - spec/dummy/public/favicon.ico
149
+ - spec/fixtures/test-env-props.yml
150
+ - spec/lib/app_startup_spec.rb
151
+ - spec/lib/eager_loadable_spec.rb
152
+ - spec/lib/presenters_spec.rb
153
+ - spec/spec_helper.rb
154
+ homepage:
155
+ licenses:
156
+ - MIT
157
+ metadata: {}
158
+ post_install_message:
159
+ rdoc_options: []
160
+ require_paths:
161
+ - lib
162
+ required_ruby_version: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - ">="
165
+ - !ruby/object:Gem::Version
166
+ version: '0'
167
+ required_rubygems_version: !ruby/object:Gem::Requirement
168
+ requirements:
169
+ - - ">="
170
+ - !ruby/object:Gem::Version
171
+ version: '0'
172
+ requirements: []
173
+ rubyforge_project:
174
+ rubygems_version: 2.5.2
175
+ signing_key:
176
+ specification_version: 4
177
+ summary: Btspm gem
178
+ test_files:
179
+ - spec/dummy/app/assets/javascripts/application.js
180
+ - spec/dummy/app/assets/stylesheets/application.css
181
+ - spec/dummy/app/controllers/application_controller.rb
182
+ - spec/dummy/app/helpers/application_helper.rb
183
+ - spec/dummy/app/models/post.rb
184
+ - spec/dummy/app/models/user.rb
185
+ - spec/dummy/app/views/layouts/application.html.erb
186
+ - spec/dummy/bin/bundle
187
+ - spec/dummy/bin/rails
188
+ - spec/dummy/bin/rake
189
+ - spec/dummy/config/application.rb
190
+ - spec/dummy/config/boot.rb
191
+ - spec/dummy/config/database.yml
192
+ - spec/dummy/config/env-props.yml
193
+ - spec/dummy/config/environment.rb
194
+ - spec/dummy/config/environments/development.rb
195
+ - spec/dummy/config/environments/production.rb
196
+ - spec/dummy/config/environments/test.rb
197
+ - spec/dummy/config/initializers/assets.rb
198
+ - spec/dummy/config/initializers/backtrace_silencers.rb
199
+ - spec/dummy/config/initializers/cookies_serializer.rb
200
+ - spec/dummy/config/initializers/filter_parameter_logging.rb
201
+ - spec/dummy/config/initializers/inflections.rb
202
+ - spec/dummy/config/initializers/mime_types.rb
203
+ - spec/dummy/config/initializers/session_store.rb
204
+ - spec/dummy/config/initializers/wrap_parameters.rb
205
+ - spec/dummy/config/locales/en.yml
206
+ - spec/dummy/config/routes.rb
207
+ - spec/dummy/config/secrets.yml
208
+ - spec/dummy/config.ru
209
+ - spec/dummy/db/development.sqlite3
210
+ - spec/dummy/db/migrate/20170825193344_create_users.rb
211
+ - spec/dummy/db/migrate/20170825193355_create_posts.rb
212
+ - spec/dummy/db/schema.rb
213
+ - spec/dummy/db/test.sqlite3
214
+ - spec/dummy/log/development.log
215
+ - spec/dummy/log/test.log
216
+ - spec/dummy/public/404.html
217
+ - spec/dummy/public/422.html
218
+ - spec/dummy/public/500.html
219
+ - spec/dummy/public/favicon.ico
220
+ - spec/dummy/Rakefile
221
+ - spec/dummy/README.rdoc
222
+ - spec/fixtures/test-env-props.yml
223
+ - spec/lib/app_startup_spec.rb
224
+ - spec/lib/eager_loadable_spec.rb
225
+ - spec/lib/presenters_spec.rb
226
+ - spec/spec_helper.rb