enterprise_mti 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 (66) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/Rakefile +32 -0
  4. data/lib/enterprise_mti.rb +9 -0
  5. data/lib/enterprise_mti/class_methods.rb +1 -0
  6. data/lib/enterprise_mti/class_methods/class_methods.rb +175 -0
  7. data/lib/enterprise_mti/migration.rb +1 -0
  8. data/lib/enterprise_mti/migration/migration.rb +34 -0
  9. data/lib/enterprise_mti/migration/sql_factory.rb +2 -0
  10. data/lib/enterprise_mti/migration/sql_factory/postgres_sql_factory.rb +16 -0
  11. data/lib/enterprise_mti/migration/sql_factory/sql_factory.rb +132 -0
  12. data/lib/enterprise_mti/version.rb +3 -0
  13. data/lib/tasks/enterprise_mti_tasks.rake +4 -0
  14. data/spec/class_methods_spec.rb +72 -0
  15. data/spec/dummy/README.rdoc +28 -0
  16. data/spec/dummy/Rakefile +6 -0
  17. data/spec/dummy/app/assets/javascripts/application.js +13 -0
  18. data/spec/dummy/app/assets/stylesheets/application.css +13 -0
  19. data/spec/dummy/app/controllers/application_controller.rb +5 -0
  20. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  21. data/spec/dummy/app/models/container.rb +3 -0
  22. data/spec/dummy/app/models/superthing.rb +3 -0
  23. data/spec/dummy/app/models/superthing_subclasses/subthing_one.rb +2 -0
  24. data/spec/dummy/app/models/superthing_subclasses/subthing_two.rb +2 -0
  25. data/spec/dummy/app/views/layouts/application.html.erb +14 -0
  26. data/spec/dummy/bin/bundle +3 -0
  27. data/spec/dummy/bin/rails +4 -0
  28. data/spec/dummy/bin/rake +4 -0
  29. data/spec/dummy/config.ru +4 -0
  30. data/spec/dummy/config/application.rb +23 -0
  31. data/spec/dummy/config/boot.rb +5 -0
  32. data/spec/dummy/config/database.yml +23 -0
  33. data/spec/dummy/config/environment.rb +5 -0
  34. data/spec/dummy/config/environments/development.rb +29 -0
  35. data/spec/dummy/config/environments/production.rb +80 -0
  36. data/spec/dummy/config/environments/test.rb +36 -0
  37. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  38. data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  39. data/spec/dummy/config/initializers/inflections.rb +16 -0
  40. data/spec/dummy/config/initializers/mime_types.rb +5 -0
  41. data/spec/dummy/config/initializers/secret_token.rb +12 -0
  42. data/spec/dummy/config/initializers/session_store.rb +3 -0
  43. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  44. data/spec/dummy/config/locales/en.yml +23 -0
  45. data/spec/dummy/config/routes.rb +56 -0
  46. data/spec/dummy/db/migrate/20131029213145_create_superthings.rb +9 -0
  47. data/spec/dummy/db/migrate/20131029213154_create_subthing_ones.rb +9 -0
  48. data/spec/dummy/db/migrate/20131029213203_create_subthing_twos.rb +9 -0
  49. data/spec/dummy/db/migrate/20131029213251_start_enterprise_mti.rb +9 -0
  50. data/spec/dummy/db/migrate/20131031131410_create_containers.rb +9 -0
  51. data/spec/dummy/db/schema.rb +42 -0
  52. data/spec/dummy/log/development.log +35 -0
  53. data/spec/dummy/log/test.log +1683 -0
  54. data/spec/dummy/public/404.html +58 -0
  55. data/spec/dummy/public/422.html +58 -0
  56. data/spec/dummy/public/500.html +57 -0
  57. data/spec/dummy/public/favicon.ico +0 -0
  58. data/spec/dummy/spec/models/container_spec.rb +5 -0
  59. data/spec/dummy/spec/models/subthing_one_spec.rb +5 -0
  60. data/spec/dummy/spec/models/subthing_two_spec.rb +5 -0
  61. data/spec/dummy/spec/models/superthing_spec.rb +5 -0
  62. data/spec/helpers/class_methods_spec_helpers.rb +5 -0
  63. data/spec/helpers/migration_spec_helpers.rb +42 -0
  64. data/spec/migration_spec.rb +74 -0
  65. data/spec/spec_helper.rb +24 -0
  66. metadata +220 -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,5 @@
1
+ #require 'spec_helper'
2
+
3
+ #describe Container do
4
+ # pending "add some examples to (or delete) #{__FILE__}"
5
+ #end
@@ -0,0 +1,5 @@
1
+ #require 'spec_helper'
2
+
3
+ #describe SubthingOne do
4
+ # pending "add some examples to (or delete) #{__FILE__}"
5
+ #end
@@ -0,0 +1,5 @@
1
+ #require 'spec_helper'
2
+
3
+ #describe SubthingTwo do
4
+ # pending "add some examples to (or delete) #{__FILE__}"
5
+ #end
@@ -0,0 +1,5 @@
1
+ #require 'spec_helper'
2
+
3
+ #describe Superthing do
4
+ # pending "add some examples to (or delete) #{__FILE__}"
5
+ #end
@@ -0,0 +1,5 @@
1
+ require Rails.root.join('app', 'models', 'superthing.rb')
2
+ require Rails.root.join('app', 'models', 'container.rb')
3
+
4
+ module ClassMethodsHelpers
5
+ end
@@ -0,0 +1,42 @@
1
+ require Rails.root.join('db', 'migrate', '20131029213145_create_superthings.rb')
2
+ require Rails.root.join('db', 'migrate', '20131029213154_create_subthing_ones.rb')
3
+ require Rails.root.join('db', 'migrate', '20131029213203_create_subthing_twos.rb')
4
+ require Rails.root.join('db', 'migrate', '20131029213251_start_enterprise_mti.rb')
5
+ require Rails.root.join('db', 'migrate', '20131031131410_create_containers.rb')
6
+
7
+ module MigrationHelpers
8
+
9
+ def migrate_all
10
+ ActiveRecord::Base.transaction do
11
+ CreateSuperthings.migrate :up
12
+ CreateSubthingOnes.migrate :up
13
+ CreateSubthingTwos.migrate :up
14
+ StartEnterpriseMti.migrate :up
15
+ CreateContainers.migrate :up
16
+ end
17
+ end
18
+
19
+ def rollback_all
20
+ ActiveRecord::Base.transaction do
21
+ CreateContainers.migrate :down
22
+ StartEnterpriseMti.migrate :down
23
+ CreateSubthingTwos.migrate :down
24
+ CreateSubthingOnes.migrate :down
25
+ CreateSuperthings.migrate :down
26
+ end
27
+ end
28
+
29
+ def columns(table)
30
+ ActiveRecord::Base.connection.execute(<<-SQL
31
+ select * from information_schema.columns where table_name='#{table}';
32
+ SQL
33
+ ).to_a.collect { |row| row['column_name'] }
34
+ end
35
+
36
+ def constraints(table)
37
+ ActiveRecord::Base.connection.execute(<<-SQL
38
+ select * from information_schema.constraint_column_usage where table_name='#{table}';
39
+ SQL
40
+ ).to_a.collect { |row| row['constraint_name'] }
41
+ end
42
+ end
@@ -0,0 +1,74 @@
1
+ require 'spec_helper'
2
+ require 'helpers/migration_spec_helpers.rb'
3
+
4
+ describe EnterpriseMti::Migration do
5
+ include MigrationHelpers
6
+
7
+ SUPPORTED_DATABASES = ['postgresql']
8
+ DATABASE_TYPE = Rails.configuration.database_configuration[Rails.env]['adapter']
9
+
10
+ context 'the Rails app has a database set up' do
11
+
12
+ it 'is of a supported database type' do
13
+ expect(SUPPORTED_DATABASES.include? DATABASE_TYPE).to be_true
14
+ end
15
+ end
16
+
17
+ if SUPPORTED_DATABASES.include? DATABASE_TYPE
18
+
19
+ context 'having migrated superclass, subclasses, and MTI,' do
20
+
21
+ before :all do
22
+ migrate_all
23
+ end
24
+
25
+ let(:superclass_table) { 'superthings' }
26
+
27
+ context 'and having rolled back MTI,' do
28
+
29
+ before :all do
30
+ StartEnterpriseMti.migrate :down
31
+ end
32
+
33
+ context 'the superclass table' do
34
+ subject(:superclass_columns) { columns(superclass_table) }
35
+
36
+ it 'does not have a column for the first subclass' do
37
+ expect(superclass_columns.include? 'subthing_ones_id').not_to be_true
38
+ end
39
+
40
+ it 'does not have a column for the second subclass' do
41
+ expect(superclass_columns.include? 'subthing_twos_id').not_to be_true
42
+ end
43
+
44
+ subject(:superclass_constraints) { constraints(superclass_table) }
45
+
46
+ it 'does not have an XOR constraint' do
47
+ expect(superclass_constraints.include? 'superthings_xor').not_to be_true
48
+ end
49
+ end
50
+
51
+ after :all do
52
+ StartEnterpriseMti.migrate :up
53
+ end
54
+ end
55
+
56
+ context 'the superclass table' do
57
+
58
+ subject(:superclass_columns) { columns(superclass_table) }
59
+
60
+ it 'has a column for the first subclass' do
61
+ expect(superclass_columns.include? 'subthing_ones_id').to be_true
62
+ end
63
+
64
+ it 'has a column for the second subclass' do
65
+ expect(superclass_columns.include? 'subthing_twos_id').to be_true
66
+ end
67
+ end
68
+
69
+ after :all do
70
+ rollback_all
71
+ end
72
+ end
73
+ end
74
+ end
@@ -0,0 +1,24 @@
1
+ # This file was generated by the `rspec --init` command. Conventionally, all
2
+ # specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
3
+ # Require this file using `require "spec_helper"` to ensure that it is only
4
+ # loaded once.
5
+ #
6
+ # See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
7
+
8
+ ENV["RAILS_ENV"] = "test"
9
+ require File.expand_path("../dummy/config/environment.rb", __FILE__)
10
+ require "rails/test_help"
11
+ require 'enterprise_mti'
12
+ Rails.backtrace_cleaner.remove_silencers!
13
+
14
+ RSpec.configure do |config|
15
+ config.treat_symbols_as_metadata_keys_with_true_values = true
16
+ config.run_all_when_everything_filtered = true
17
+ config.filter_run :focus
18
+
19
+ # Run specs in random order to surface order dependencies. If you find an
20
+ # order dependency and want to debug it, you can fix the order by providing
21
+ # the seed, which is printed after each run.
22
+ # --seed 1234
23
+ config.order = 'random'
24
+ end
metadata ADDED
@@ -0,0 +1,220 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: enterprise_mti
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Ersin Akinci
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2013-11-01 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.0.0
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ~>
25
+ - !ruby/object:Gem::Version
26
+ version: 4.0.0
27
+ - !ruby/object:Gem::Dependency
28
+ name: pg
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
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: pg
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - '>='
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
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: rspec-rails
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - '>='
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ description: |2
70
+ Enterprise MTI is gem that adds multiple table inheritance to Active
71
+ Record models backed by database-level referential integrity. The
72
+ design and the project's name are inspired by Dan Chak's book,
73
+ "Enterprise Rails," from which some code has been taken.
74
+ email:
75
+ - ersinakinci@gmail.com
76
+ executables: []
77
+ extensions: []
78
+ extra_rdoc_files: []
79
+ files:
80
+ - lib/enterprise_mti/class_methods/class_methods.rb
81
+ - lib/enterprise_mti/class_methods.rb
82
+ - lib/enterprise_mti/migration/migration.rb
83
+ - lib/enterprise_mti/migration/sql_factory/postgres_sql_factory.rb
84
+ - lib/enterprise_mti/migration/sql_factory/sql_factory.rb
85
+ - lib/enterprise_mti/migration/sql_factory.rb
86
+ - lib/enterprise_mti/migration.rb
87
+ - lib/enterprise_mti/version.rb
88
+ - lib/enterprise_mti.rb
89
+ - lib/tasks/enterprise_mti_tasks.rake
90
+ - MIT-LICENSE
91
+ - Rakefile
92
+ - spec/class_methods_spec.rb
93
+ - spec/dummy/app/assets/javascripts/application.js
94
+ - spec/dummy/app/assets/stylesheets/application.css
95
+ - spec/dummy/app/controllers/application_controller.rb
96
+ - spec/dummy/app/helpers/application_helper.rb
97
+ - spec/dummy/app/models/container.rb
98
+ - spec/dummy/app/models/superthing.rb
99
+ - spec/dummy/app/models/superthing_subclasses/subthing_one.rb
100
+ - spec/dummy/app/models/superthing_subclasses/subthing_two.rb
101
+ - spec/dummy/app/views/layouts/application.html.erb
102
+ - spec/dummy/bin/bundle
103
+ - spec/dummy/bin/rails
104
+ - spec/dummy/bin/rake
105
+ - spec/dummy/config/application.rb
106
+ - spec/dummy/config/boot.rb
107
+ - spec/dummy/config/database.yml
108
+ - spec/dummy/config/environment.rb
109
+ - spec/dummy/config/environments/development.rb
110
+ - spec/dummy/config/environments/production.rb
111
+ - spec/dummy/config/environments/test.rb
112
+ - spec/dummy/config/initializers/backtrace_silencers.rb
113
+ - spec/dummy/config/initializers/filter_parameter_logging.rb
114
+ - spec/dummy/config/initializers/inflections.rb
115
+ - spec/dummy/config/initializers/mime_types.rb
116
+ - spec/dummy/config/initializers/secret_token.rb
117
+ - spec/dummy/config/initializers/session_store.rb
118
+ - spec/dummy/config/initializers/wrap_parameters.rb
119
+ - spec/dummy/config/locales/en.yml
120
+ - spec/dummy/config/routes.rb
121
+ - spec/dummy/config.ru
122
+ - spec/dummy/db/migrate/20131029213145_create_superthings.rb
123
+ - spec/dummy/db/migrate/20131029213154_create_subthing_ones.rb
124
+ - spec/dummy/db/migrate/20131029213203_create_subthing_twos.rb
125
+ - spec/dummy/db/migrate/20131029213251_start_enterprise_mti.rb
126
+ - spec/dummy/db/migrate/20131031131410_create_containers.rb
127
+ - spec/dummy/db/schema.rb
128
+ - spec/dummy/log/development.log
129
+ - spec/dummy/log/test.log
130
+ - spec/dummy/public/404.html
131
+ - spec/dummy/public/422.html
132
+ - spec/dummy/public/500.html
133
+ - spec/dummy/public/favicon.ico
134
+ - spec/dummy/Rakefile
135
+ - spec/dummy/README.rdoc
136
+ - spec/dummy/spec/models/container_spec.rb
137
+ - spec/dummy/spec/models/subthing_one_spec.rb
138
+ - spec/dummy/spec/models/subthing_two_spec.rb
139
+ - spec/dummy/spec/models/superthing_spec.rb
140
+ - spec/helpers/class_methods_spec_helpers.rb
141
+ - spec/helpers/migration_spec_helpers.rb
142
+ - spec/migration_spec.rb
143
+ - spec/spec_helper.rb
144
+ homepage: https://github.com/earksiinni/enterprise_mti
145
+ licenses:
146
+ - MIT
147
+ metadata: {}
148
+ post_install_message:
149
+ rdoc_options: []
150
+ require_paths:
151
+ - lib
152
+ required_ruby_version: !ruby/object:Gem::Requirement
153
+ requirements:
154
+ - - '>='
155
+ - !ruby/object:Gem::Version
156
+ version: '0'
157
+ required_rubygems_version: !ruby/object:Gem::Requirement
158
+ requirements:
159
+ - - '>='
160
+ - !ruby/object:Gem::Version
161
+ version: '0'
162
+ requirements: []
163
+ rubyforge_project:
164
+ rubygems_version: 2.0.6
165
+ signing_key:
166
+ specification_version: 4
167
+ summary: Multiple table inheritance for Active Record with referential integrity
168
+ test_files:
169
+ - spec/class_methods_spec.rb
170
+ - spec/dummy/app/assets/javascripts/application.js
171
+ - spec/dummy/app/assets/stylesheets/application.css
172
+ - spec/dummy/app/controllers/application_controller.rb
173
+ - spec/dummy/app/helpers/application_helper.rb
174
+ - spec/dummy/app/models/container.rb
175
+ - spec/dummy/app/models/superthing.rb
176
+ - spec/dummy/app/models/superthing_subclasses/subthing_one.rb
177
+ - spec/dummy/app/models/superthing_subclasses/subthing_two.rb
178
+ - spec/dummy/app/views/layouts/application.html.erb
179
+ - spec/dummy/bin/bundle
180
+ - spec/dummy/bin/rails
181
+ - spec/dummy/bin/rake
182
+ - spec/dummy/config/application.rb
183
+ - spec/dummy/config/boot.rb
184
+ - spec/dummy/config/database.yml
185
+ - spec/dummy/config/environment.rb
186
+ - spec/dummy/config/environments/development.rb
187
+ - spec/dummy/config/environments/production.rb
188
+ - spec/dummy/config/environments/test.rb
189
+ - spec/dummy/config/initializers/backtrace_silencers.rb
190
+ - spec/dummy/config/initializers/filter_parameter_logging.rb
191
+ - spec/dummy/config/initializers/inflections.rb
192
+ - spec/dummy/config/initializers/mime_types.rb
193
+ - spec/dummy/config/initializers/secret_token.rb
194
+ - spec/dummy/config/initializers/session_store.rb
195
+ - spec/dummy/config/initializers/wrap_parameters.rb
196
+ - spec/dummy/config/locales/en.yml
197
+ - spec/dummy/config/routes.rb
198
+ - spec/dummy/config.ru
199
+ - spec/dummy/db/migrate/20131029213145_create_superthings.rb
200
+ - spec/dummy/db/migrate/20131029213154_create_subthing_ones.rb
201
+ - spec/dummy/db/migrate/20131029213203_create_subthing_twos.rb
202
+ - spec/dummy/db/migrate/20131029213251_start_enterprise_mti.rb
203
+ - spec/dummy/db/migrate/20131031131410_create_containers.rb
204
+ - spec/dummy/db/schema.rb
205
+ - spec/dummy/log/development.log
206
+ - spec/dummy/log/test.log
207
+ - spec/dummy/public/404.html
208
+ - spec/dummy/public/422.html
209
+ - spec/dummy/public/500.html
210
+ - spec/dummy/public/favicon.ico
211
+ - spec/dummy/Rakefile
212
+ - spec/dummy/README.rdoc
213
+ - spec/dummy/spec/models/container_spec.rb
214
+ - spec/dummy/spec/models/subthing_one_spec.rb
215
+ - spec/dummy/spec/models/subthing_two_spec.rb
216
+ - spec/dummy/spec/models/superthing_spec.rb
217
+ - spec/helpers/class_methods_spec_helpers.rb
218
+ - spec/helpers/migration_spec_helpers.rb
219
+ - spec/migration_spec.rb
220
+ - spec/spec_helper.rb