meta_types 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 (102) hide show
  1. data/MIT-LICENSE +20 -0
  2. data/README.rdoc +184 -0
  3. data/Rakefile +40 -0
  4. data/app/assets/javascripts/meta_types/application.js +15 -0
  5. data/app/assets/stylesheets/meta_types/application.css +13 -0
  6. data/app/controllers/meta_types/application_controller.rb +4 -0
  7. data/app/helpers/meta_types/application_helper.rb +4 -0
  8. data/app/models/meta_type.rb +36 -0
  9. data/app/models/meta_type_member.rb +29 -0
  10. data/app/models/meta_type_property.rb +74 -0
  11. data/app/views/layouts/meta_types/application.html.erb +14 -0
  12. data/config/routes.rb +2 -0
  13. data/db/migrate/20120507130230_create_hstore.rb +9 -0
  14. data/db/migrate/20120507130237_meta_type.rb +19 -0
  15. data/db/migrate/20120507130255_meta_type_property.rb +23 -0
  16. data/db/migrate/20120507130303_meta_type_member.rb +18 -0
  17. data/lib/meta_types.rb +9 -0
  18. data/lib/meta_types/active_record.rb +48 -0
  19. data/lib/meta_types/engine.rb +5 -0
  20. data/lib/meta_types/meta_properties.rb +93 -0
  21. data/lib/meta_types/meta_property.rb +27 -0
  22. data/lib/meta_types/meta_property_type.rb +59 -0
  23. data/lib/meta_types/version.rb +3 -0
  24. data/lib/tasks/meta_types_tasks.rake +4 -0
  25. data/test/dummy/README.rdoc +261 -0
  26. data/test/dummy/Rakefile +7 -0
  27. data/test/dummy/app/assets/javascripts/application.js +16 -0
  28. data/test/dummy/app/assets/stylesheets/application.scss +15 -0
  29. data/test/dummy/app/controllers/application_controller.rb +3 -0
  30. data/test/dummy/app/controllers/dashboard_controller.rb +3 -0
  31. data/test/dummy/app/controllers/meta_type_properties_controller.rb +7 -0
  32. data/test/dummy/app/controllers/meta_types_controller.rb +7 -0
  33. data/test/dummy/app/controllers/things_controller.rb +34 -0
  34. data/test/dummy/app/helpers/application_helper.rb +2 -0
  35. data/test/dummy/app/models/thing.rb +6 -0
  36. data/test/dummy/app/views/dashboard/index.html.erb +14 -0
  37. data/test/dummy/app/views/layouts/application.html.erb +58 -0
  38. data/test/dummy/app/views/meta_type_properties/_meta_type_property.html.erb +10 -0
  39. data/test/dummy/app/views/meta_type_properties/edit.html.erb +5 -0
  40. data/test/dummy/app/views/meta_type_properties/index.html.erb +9 -0
  41. data/test/dummy/app/views/meta_type_properties/new.html.erb +5 -0
  42. data/test/dummy/app/views/meta_types/_meta_type.html.erb +6 -0
  43. data/test/dummy/app/views/meta_types/edit.html.erb +5 -0
  44. data/test/dummy/app/views/meta_types/index.html.erb +9 -0
  45. data/test/dummy/app/views/meta_types/new.html.erb +5 -0
  46. data/test/dummy/app/views/things/_thing.html.erb +10 -0
  47. data/test/dummy/app/views/things/edit.html.erb +5 -0
  48. data/test/dummy/app/views/things/index.html.erb +9 -0
  49. data/test/dummy/app/views/things/new.html.erb +12 -0
  50. data/test/dummy/app/views/things/show.html.erb +10 -0
  51. data/test/dummy/config.ru +4 -0
  52. data/test/dummy/config/application.rb +58 -0
  53. data/test/dummy/config/boot.rb +10 -0
  54. data/test/dummy/config/database.yml +25 -0
  55. data/test/dummy/config/environment.rb +5 -0
  56. data/test/dummy/config/environments/development.rb +37 -0
  57. data/test/dummy/config/environments/production.rb +67 -0
  58. data/test/dummy/config/environments/test.rb +37 -0
  59. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  60. data/test/dummy/config/initializers/inflections.rb +15 -0
  61. data/test/dummy/config/initializers/mime_types.rb +5 -0
  62. data/test/dummy/config/initializers/secret_token.rb +7 -0
  63. data/test/dummy/config/initializers/session_store.rb +8 -0
  64. data/test/dummy/config/initializers/simple_form.rb +178 -0
  65. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  66. data/test/dummy/config/locales/en.yml +5 -0
  67. data/test/dummy/config/locales/simple_form.en.yml +26 -0
  68. data/test/dummy/config/routes.rb +6 -0
  69. data/test/dummy/db/migrate/20120507130230_create_hstore.rb +9 -0
  70. data/test/dummy/db/migrate/20120507130237_meta_type.rb +19 -0
  71. data/test/dummy/db/migrate/20120507130255_meta_type_property.rb +23 -0
  72. data/test/dummy/db/migrate/20120507130303_meta_type_member.rb +18 -0
  73. data/test/dummy/db/migrate/20120508143058_create_things.rb +14 -0
  74. data/test/dummy/db/seeds.rb +28 -0
  75. data/test/dummy/db/structure.sql +309 -0
  76. data/test/dummy/lib/templates/erb/scaffold/_form.html.erb +13 -0
  77. data/test/dummy/log/development.log +8958 -0
  78. data/test/dummy/log/test.log +5559 -0
  79. data/test/dummy/public/404.html +26 -0
  80. data/test/dummy/public/422.html +26 -0
  81. data/test/dummy/public/500.html +25 -0
  82. data/test/dummy/public/favicon.ico +0 -0
  83. data/test/dummy/script/rails +6 -0
  84. data/test/dummy/tmp/cache/assets/C7F/AF0/sprockets%2F1f64b7e05e310702c90b98e4816685a2 +0 -0
  85. data/test/dummy/tmp/cache/assets/C94/420/sprockets%2F639d84895339654f12ac2bde8292d447 +0 -0
  86. data/test/dummy/tmp/cache/assets/CB1/FD0/sprockets%2F6e1bd95023705b5529e7ccc754a02867 +0 -0
  87. data/test/dummy/tmp/cache/assets/CD8/370/sprockets%2F357970feca3ac29060c1e3861e2c0953 +0 -0
  88. data/test/dummy/tmp/cache/assets/CFF/E00/sprockets%2F352bab412d75fa19d0a07504553b59df +0 -0
  89. data/test/dummy/tmp/cache/assets/D32/A10/sprockets%2F13fe41fee1fe35b49d145bcc06610705 +0 -0
  90. data/test/dummy/tmp/cache/assets/D49/8D0/sprockets%2F92613a75279536c4bcf4f3ba6cfde494 +0 -0
  91. data/test/dummy/tmp/cache/assets/D4E/1B0/sprockets%2Ff7cbd26ba1d28d48de824f0e94586655 +0 -0
  92. data/test/dummy/tmp/cache/assets/D59/6F0/sprockets%2F7c015202319d3bb46ea41d4ff9b5ac0d +0 -0
  93. data/test/dummy/tmp/cache/assets/D5A/EA0/sprockets%2Fd771ace226fc8215a3572e0aa35bb0d6 +0 -0
  94. data/test/dummy/tmp/cache/assets/D9F/640/sprockets%2Fbbc63c99f5e0eef2a890442ea3431dd7 +0 -0
  95. data/test/dummy/tmp/cache/assets/DB1/370/sprockets%2F18d79bbfdd80aa3bde79ab687266d992 +0 -0
  96. data/test/dummy/tmp/cache/assets/DDC/400/sprockets%2Fcffd775d018f68ce5dba1ee0d951a994 +0 -0
  97. data/test/dummy/tmp/cache/assets/E02/0E0/sprockets%2Fa8f15cbf61c3d8edb5a99dbafd690721 +0 -0
  98. data/test/dummy/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af +0 -0
  99. data/test/meta_types_test.rb +7 -0
  100. data/test/test_helper.rb +15 -0
  101. data/test/unit/meta_types/meta_type_test.rb +181 -0
  102. metadata +257 -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,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,7 @@
1
+ require 'test_helper'
2
+
3
+ class MetaTypesTest < ActiveSupport::TestCase
4
+ test "truth" do
5
+ assert_kind_of Module, MetaTypes
6
+ end
7
+ end
@@ -0,0 +1,15 @@
1
+ # Configure Rails Environment
2
+ ENV["RAILS_ENV"] = "test"
3
+
4
+ require File.expand_path("../dummy/config/environment.rb", __FILE__)
5
+ require "rails/test_help"
6
+
7
+ Rails.backtrace_cleaner.remove_silencers!
8
+
9
+ # Load support files
10
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
11
+
12
+ # Load fixtures from the engine
13
+ if ActiveSupport::TestCase.method_defined?(:fixture_path=)
14
+ ActiveSupport::TestCase.fixture_path = File.expand_path("../fixtures", __FILE__)
15
+ end
@@ -0,0 +1,181 @@
1
+ require 'test_helper'
2
+
3
+ class MetaTypes::MetaTypeTest < ActiveSupport::TestCase
4
+
5
+ DATESTRING = '2012-02-22'
6
+ DATE = Date.parse(DATESTRING)
7
+
8
+ def make()
9
+ typ = MetaType.new(sid: 'typ', title: 'My Freakin Type')
10
+ typ.meta_type_properties = [
11
+ MetaTypeProperty.new(
12
+ sid: 'foo',
13
+ label: 'Foo',
14
+ property_type_sid: 'integer',
15
+ default_value: '1'
16
+ ),
17
+ MetaTypeProperty.new(
18
+ sid: 'bar',
19
+ label: 'Bar',
20
+ property_type_sid: 'string',
21
+ default_value: 'lala'
22
+ ),
23
+ MetaTypeProperty.new(
24
+ sid: 'moo',
25
+ label: 'Moo',
26
+ property_type_sid: 'boolean',
27
+ default_value: 'true'
28
+ ),
29
+ MetaTypeProperty.new(
30
+ sid: 'bir',
31
+ label: 'Birthday',
32
+ property_type_sid: 'date',
33
+ default_value: nil
34
+ )
35
+ ]
36
+ typ
37
+ end
38
+
39
+ test 'creation and default values' do
40
+ typ = make()
41
+ assert typ.save
42
+
43
+ thing = Thing.new(name: "Har har", meta_type: typ)
44
+ assert thing.save
45
+ 2.times do
46
+ assert thing.properties.foo == 1
47
+ assert thing.properties[:foo].value == 1
48
+ assert thing.properties.bar == 'lala'
49
+ assert thing.properties[:bar].value == 'lala'
50
+ assert thing.properties.moo == true
51
+ assert thing.properties[:moo].value == true
52
+ assert thing.properties.bir == nil
53
+ assert thing.properties[:bir].value == nil
54
+ thing = Thing.find(thing.id)
55
+ end
56
+ end
57
+
58
+ test "don't use evil names :)" do
59
+ typ = MetaType.new(sid: 'typ', title: 'My Freakin Type')
60
+ mtp = MetaTypeProperty.new(
61
+ sid: 'foo',
62
+ label: 'Foo',
63
+ property_type_sid: 'integer',
64
+ default_value: '1'
65
+ )
66
+ typ.meta_type_properties << mtp
67
+ assert mtp.valid?
68
+ mtp.sid = 'in'
69
+ assert !mtp.valid?
70
+ mtp.sid = 'map'
71
+ assert !mtp.valid?
72
+ mtp.sid = 'Asassadsd'
73
+ assert !mtp.valid?
74
+ end
75
+
76
+ test 'change property values' do
77
+ typ = make()
78
+ assert typ.save
79
+
80
+ thing = Thing.new(name: "Har har", meta_type: typ)
81
+ prop = thing.properties
82
+ prop.foo = 2
83
+ prop.bar = "falleri"
84
+ prop.moo = false
85
+ prop.bir = '2012-02-22'
86
+ 2.times do
87
+ assert_equal thing.properties.foo, 2
88
+ assert_equal thing.properties[:foo].value, 2
89
+ assert_equal thing.properties.bar, 'falleri'
90
+ assert_equal thing.properties[:bar].value, 'falleri'
91
+ assert_equal thing.properties.moo, false
92
+ assert_equal thing.properties[:moo].value, false
93
+ assert_equal thing.properties.bir, DATE
94
+ assert_equal thing.properties[:bir].value, DATE
95
+ thing.save!
96
+ thing = Thing.find(thing.id)
97
+ end
98
+ end
99
+
100
+ test 'reordering properties' do
101
+ typ = make()
102
+ assert typ.save
103
+
104
+ thing = Thing.new(name: "Har har", meta_type: typ)
105
+ prop = thing.properties_attributes = {
106
+ foo: 2,
107
+ bar: 'falleri',
108
+ moo: false
109
+ }
110
+ thing.properties.bir = DATE
111
+ thing.save!
112
+ thing.reload
113
+ a = thing.properties.map {|mp| mp.value }
114
+ assert_equal [2, "falleri", false, DATE], a
115
+
116
+ typ = thing.meta_type
117
+ foo_prop = thing.properties[:foo].meta_type_property
118
+ bar_prop = thing.properties[:bar].meta_type_property
119
+ moo_prop = thing.properties[:moo].meta_type_property
120
+ bir_prop = thing.properties[:bir].meta_type_property
121
+ assert_equal foo_prop.get_position_for(typ), foo_prop.id
122
+ assert_equal bar_prop.get_position_for(typ), bar_prop.id
123
+ assert_equal moo_prop.get_position_for(typ), moo_prop.id
124
+ assert_equal bir_prop.get_position_for(typ), bir_prop.id
125
+
126
+ foo_prop.set_position_for!(typ, 9)
127
+ bir_prop.set_position_for!(typ, 7)
128
+ bar_prop.set_position_for!(typ, 5)
129
+ moo_prop.set_position_for!(typ, 2)
130
+ thing = Thing.find(thing.id)
131
+ assert_equal [false, "falleri", DATE, 2], thing.properties.map(&:value)
132
+ end
133
+
134
+ test 'mass assign' do
135
+ typ = make()
136
+ assert typ.save
137
+
138
+ thing1 = Thing.new(name: "Har har", meta_type: typ, properties_attributes: { foo: 2, bar: 'falleri', moo: false } )
139
+ thing2 = Thing.new(name: "Huhahah", meta_type: typ, properties_attributes: { foo: 4, bar: 'hollera', moo: false } )
140
+ thing3 = Thing.new(name: "hehehee", meta_type: typ, properties_attributes: { foo: 6, bar: 'trullala', moo: true } )
141
+ assert thing1.save && thing2.save && thing3.save
142
+ thing1.reload
143
+ thing2.reload
144
+ thing3.reload
145
+ assert_equal thing1.properties.bar, 'falleri'
146
+ assert_equal thing2.properties.bar, 'hollera'
147
+ assert_equal thing3.properties.bar, 'trullala'
148
+ end
149
+
150
+ test 'conditions' do
151
+ typ = make()
152
+ assert typ.save
153
+
154
+ thing1 = Thing.new(name: "Har har", meta_type: typ, properties_attributes: { foo: 2, bar: 'falleri', moo: false } )
155
+ thing2 = Thing.new(name: "Huhahah", meta_type: typ, properties_attributes: { foo: 4, bar: 'hollera', moo: false } )
156
+ thing3 = Thing.new(name: "hehehee", meta_type: typ, properties_attributes: { foo: 6, bar: 'trullala', moo: true } )
157
+ assert thing1.save && thing2.save && thing3.save
158
+
159
+ assert_equal 0, Thing.where_properties(foo: 1).count
160
+ assert_equal 1, Thing.where_properties(foo: 2).count
161
+ assert_equal 0, Thing.where_properties(foo: 3).count
162
+
163
+ assert_equal 0, Thing.where_properties_like(bar: '%ooo%').count
164
+ assert_equal 1, Thing.where_properties_like(bar: '%eri%').count
165
+ assert_equal 2, Thing.where_properties_like(bar: '%lle%').count
166
+ assert_equal 3, Thing.where_properties_like(bar: '%ll%').count
167
+ end
168
+
169
+ test 'date stuff' do
170
+ typ = make()
171
+ assert typ.save
172
+
173
+ thing = Thing.new(name: "Har har", meta_type: typ, properties_attributes: { bir: DATESTRING } )
174
+ assert_equal DATE, thing.properties.bir
175
+ thing.properties.bir = nil
176
+ thing.update_attributes( properties_attributes: { bir: DATE })
177
+ assert_equal DATE, thing.properties.bir
178
+ thing.update_attributes( properties_attributes: { 'bir(1i)' => '1972', 'bir(2i)' => '2', 'bir(3i)' => 16 })
179
+ assert_equal Date.new(1972, 2, 16), thing.properties.bir
180
+ end
181
+ end
metadata ADDED
@@ -0,0 +1,257 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: meta_types
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Peter Horn
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-05-11 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: rails
16
+ requirement: &70350732916300 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ~>
20
+ - !ruby/object:Gem::Version
21
+ version: 3.2.3
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: *70350732916300
25
+ - !ruby/object:Gem::Dependency
26
+ name: activerecord-postgres-hstore
27
+ requirement: &70350732915880 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: *70350732915880
36
+ - !ruby/object:Gem::Dependency
37
+ name: pg
38
+ requirement: &70350732915420 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
43
+ version: '0'
44
+ type: :runtime
45
+ prerelease: false
46
+ version_requirements: *70350732915420
47
+ description: DB-Configurable type description. Uses hstore on the models. A demo app
48
+ is running at http://meta-types.herokuapp.com
49
+ email:
50
+ - ph@mateminded.com
51
+ executables: []
52
+ extensions: []
53
+ extra_rdoc_files: []
54
+ files:
55
+ - app/assets/javascripts/meta_types/application.js
56
+ - app/assets/stylesheets/meta_types/application.css
57
+ - app/controllers/meta_types/application_controller.rb
58
+ - app/helpers/meta_types/application_helper.rb
59
+ - app/models/meta_type.rb
60
+ - app/models/meta_type_member.rb
61
+ - app/models/meta_type_property.rb
62
+ - app/views/layouts/meta_types/application.html.erb
63
+ - config/routes.rb
64
+ - db/migrate/20120507130230_create_hstore.rb
65
+ - db/migrate/20120507130237_meta_type.rb
66
+ - db/migrate/20120507130255_meta_type_property.rb
67
+ - db/migrate/20120507130303_meta_type_member.rb
68
+ - lib/meta_types/active_record.rb
69
+ - lib/meta_types/engine.rb
70
+ - lib/meta_types/meta_properties.rb
71
+ - lib/meta_types/meta_property.rb
72
+ - lib/meta_types/meta_property_type.rb
73
+ - lib/meta_types/version.rb
74
+ - lib/meta_types.rb
75
+ - lib/tasks/meta_types_tasks.rake
76
+ - MIT-LICENSE
77
+ - Rakefile
78
+ - README.rdoc
79
+ - test/dummy/app/assets/javascripts/application.js
80
+ - test/dummy/app/assets/stylesheets/application.scss
81
+ - test/dummy/app/controllers/application_controller.rb
82
+ - test/dummy/app/controllers/dashboard_controller.rb
83
+ - test/dummy/app/controllers/meta_type_properties_controller.rb
84
+ - test/dummy/app/controllers/meta_types_controller.rb
85
+ - test/dummy/app/controllers/things_controller.rb
86
+ - test/dummy/app/helpers/application_helper.rb
87
+ - test/dummy/app/models/thing.rb
88
+ - test/dummy/app/views/dashboard/index.html.erb
89
+ - test/dummy/app/views/layouts/application.html.erb
90
+ - test/dummy/app/views/meta_type_properties/_meta_type_property.html.erb
91
+ - test/dummy/app/views/meta_type_properties/edit.html.erb
92
+ - test/dummy/app/views/meta_type_properties/index.html.erb
93
+ - test/dummy/app/views/meta_type_properties/new.html.erb
94
+ - test/dummy/app/views/meta_types/_meta_type.html.erb
95
+ - test/dummy/app/views/meta_types/edit.html.erb
96
+ - test/dummy/app/views/meta_types/index.html.erb
97
+ - test/dummy/app/views/meta_types/new.html.erb
98
+ - test/dummy/app/views/things/_thing.html.erb
99
+ - test/dummy/app/views/things/edit.html.erb
100
+ - test/dummy/app/views/things/index.html.erb
101
+ - test/dummy/app/views/things/new.html.erb
102
+ - test/dummy/app/views/things/show.html.erb
103
+ - test/dummy/config/application.rb
104
+ - test/dummy/config/boot.rb
105
+ - test/dummy/config/database.yml
106
+ - test/dummy/config/environment.rb
107
+ - test/dummy/config/environments/development.rb
108
+ - test/dummy/config/environments/production.rb
109
+ - test/dummy/config/environments/test.rb
110
+ - test/dummy/config/initializers/backtrace_silencers.rb
111
+ - test/dummy/config/initializers/inflections.rb
112
+ - test/dummy/config/initializers/mime_types.rb
113
+ - test/dummy/config/initializers/secret_token.rb
114
+ - test/dummy/config/initializers/session_store.rb
115
+ - test/dummy/config/initializers/simple_form.rb
116
+ - test/dummy/config/initializers/wrap_parameters.rb
117
+ - test/dummy/config/locales/en.yml
118
+ - test/dummy/config/locales/simple_form.en.yml
119
+ - test/dummy/config/routes.rb
120
+ - test/dummy/config.ru
121
+ - test/dummy/db/migrate/20120507130230_create_hstore.rb
122
+ - test/dummy/db/migrate/20120507130237_meta_type.rb
123
+ - test/dummy/db/migrate/20120507130255_meta_type_property.rb
124
+ - test/dummy/db/migrate/20120507130303_meta_type_member.rb
125
+ - test/dummy/db/migrate/20120508143058_create_things.rb
126
+ - test/dummy/db/seeds.rb
127
+ - test/dummy/db/structure.sql
128
+ - test/dummy/lib/templates/erb/scaffold/_form.html.erb
129
+ - test/dummy/log/development.log
130
+ - test/dummy/log/test.log
131
+ - test/dummy/public/404.html
132
+ - test/dummy/public/422.html
133
+ - test/dummy/public/500.html
134
+ - test/dummy/public/favicon.ico
135
+ - test/dummy/Rakefile
136
+ - test/dummy/README.rdoc
137
+ - test/dummy/script/rails
138
+ - test/dummy/tmp/cache/assets/C7F/AF0/sprockets%2F1f64b7e05e310702c90b98e4816685a2
139
+ - test/dummy/tmp/cache/assets/C94/420/sprockets%2F639d84895339654f12ac2bde8292d447
140
+ - test/dummy/tmp/cache/assets/CB1/FD0/sprockets%2F6e1bd95023705b5529e7ccc754a02867
141
+ - test/dummy/tmp/cache/assets/CD8/370/sprockets%2F357970feca3ac29060c1e3861e2c0953
142
+ - test/dummy/tmp/cache/assets/CFF/E00/sprockets%2F352bab412d75fa19d0a07504553b59df
143
+ - test/dummy/tmp/cache/assets/D32/A10/sprockets%2F13fe41fee1fe35b49d145bcc06610705
144
+ - test/dummy/tmp/cache/assets/D49/8D0/sprockets%2F92613a75279536c4bcf4f3ba6cfde494
145
+ - test/dummy/tmp/cache/assets/D4E/1B0/sprockets%2Ff7cbd26ba1d28d48de824f0e94586655
146
+ - test/dummy/tmp/cache/assets/D59/6F0/sprockets%2F7c015202319d3bb46ea41d4ff9b5ac0d
147
+ - test/dummy/tmp/cache/assets/D5A/EA0/sprockets%2Fd771ace226fc8215a3572e0aa35bb0d6
148
+ - test/dummy/tmp/cache/assets/D9F/640/sprockets%2Fbbc63c99f5e0eef2a890442ea3431dd7
149
+ - test/dummy/tmp/cache/assets/DB1/370/sprockets%2F18d79bbfdd80aa3bde79ab687266d992
150
+ - test/dummy/tmp/cache/assets/DDC/400/sprockets%2Fcffd775d018f68ce5dba1ee0d951a994
151
+ - test/dummy/tmp/cache/assets/E02/0E0/sprockets%2Fa8f15cbf61c3d8edb5a99dbafd690721
152
+ - test/dummy/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af
153
+ - test/meta_types_test.rb
154
+ - test/test_helper.rb
155
+ - test/unit/meta_types/meta_type_test.rb
156
+ homepage: http://github.com/metaminded/meta_types
157
+ licenses: []
158
+ post_install_message:
159
+ rdoc_options: []
160
+ require_paths:
161
+ - lib
162
+ required_ruby_version: !ruby/object:Gem::Requirement
163
+ none: false
164
+ requirements:
165
+ - - ! '>='
166
+ - !ruby/object:Gem::Version
167
+ version: '0'
168
+ required_rubygems_version: !ruby/object:Gem::Requirement
169
+ none: false
170
+ requirements:
171
+ - - ! '>='
172
+ - !ruby/object:Gem::Version
173
+ version: '0'
174
+ requirements: []
175
+ rubyforge_project:
176
+ rubygems_version: 1.8.15
177
+ signing_key:
178
+ specification_version: 3
179
+ summary: DB-Configurable type description.
180
+ test_files:
181
+ - test/dummy/app/assets/javascripts/application.js
182
+ - test/dummy/app/assets/stylesheets/application.scss
183
+ - test/dummy/app/controllers/application_controller.rb
184
+ - test/dummy/app/controllers/dashboard_controller.rb
185
+ - test/dummy/app/controllers/meta_type_properties_controller.rb
186
+ - test/dummy/app/controllers/meta_types_controller.rb
187
+ - test/dummy/app/controllers/things_controller.rb
188
+ - test/dummy/app/helpers/application_helper.rb
189
+ - test/dummy/app/models/thing.rb
190
+ - test/dummy/app/views/dashboard/index.html.erb
191
+ - test/dummy/app/views/layouts/application.html.erb
192
+ - test/dummy/app/views/meta_type_properties/_meta_type_property.html.erb
193
+ - test/dummy/app/views/meta_type_properties/edit.html.erb
194
+ - test/dummy/app/views/meta_type_properties/index.html.erb
195
+ - test/dummy/app/views/meta_type_properties/new.html.erb
196
+ - test/dummy/app/views/meta_types/_meta_type.html.erb
197
+ - test/dummy/app/views/meta_types/edit.html.erb
198
+ - test/dummy/app/views/meta_types/index.html.erb
199
+ - test/dummy/app/views/meta_types/new.html.erb
200
+ - test/dummy/app/views/things/_thing.html.erb
201
+ - test/dummy/app/views/things/edit.html.erb
202
+ - test/dummy/app/views/things/index.html.erb
203
+ - test/dummy/app/views/things/new.html.erb
204
+ - test/dummy/app/views/things/show.html.erb
205
+ - test/dummy/config/application.rb
206
+ - test/dummy/config/boot.rb
207
+ - test/dummy/config/database.yml
208
+ - test/dummy/config/environment.rb
209
+ - test/dummy/config/environments/development.rb
210
+ - test/dummy/config/environments/production.rb
211
+ - test/dummy/config/environments/test.rb
212
+ - test/dummy/config/initializers/backtrace_silencers.rb
213
+ - test/dummy/config/initializers/inflections.rb
214
+ - test/dummy/config/initializers/mime_types.rb
215
+ - test/dummy/config/initializers/secret_token.rb
216
+ - test/dummy/config/initializers/session_store.rb
217
+ - test/dummy/config/initializers/simple_form.rb
218
+ - test/dummy/config/initializers/wrap_parameters.rb
219
+ - test/dummy/config/locales/en.yml
220
+ - test/dummy/config/locales/simple_form.en.yml
221
+ - test/dummy/config/routes.rb
222
+ - test/dummy/config.ru
223
+ - test/dummy/db/migrate/20120507130230_create_hstore.rb
224
+ - test/dummy/db/migrate/20120507130237_meta_type.rb
225
+ - test/dummy/db/migrate/20120507130255_meta_type_property.rb
226
+ - test/dummy/db/migrate/20120507130303_meta_type_member.rb
227
+ - test/dummy/db/migrate/20120508143058_create_things.rb
228
+ - test/dummy/db/seeds.rb
229
+ - test/dummy/db/structure.sql
230
+ - test/dummy/lib/templates/erb/scaffold/_form.html.erb
231
+ - test/dummy/log/development.log
232
+ - test/dummy/log/test.log
233
+ - test/dummy/public/404.html
234
+ - test/dummy/public/422.html
235
+ - test/dummy/public/500.html
236
+ - test/dummy/public/favicon.ico
237
+ - test/dummy/Rakefile
238
+ - test/dummy/README.rdoc
239
+ - test/dummy/script/rails
240
+ - test/dummy/tmp/cache/assets/C7F/AF0/sprockets%2F1f64b7e05e310702c90b98e4816685a2
241
+ - test/dummy/tmp/cache/assets/C94/420/sprockets%2F639d84895339654f12ac2bde8292d447
242
+ - test/dummy/tmp/cache/assets/CB1/FD0/sprockets%2F6e1bd95023705b5529e7ccc754a02867
243
+ - test/dummy/tmp/cache/assets/CD8/370/sprockets%2F357970feca3ac29060c1e3861e2c0953
244
+ - test/dummy/tmp/cache/assets/CFF/E00/sprockets%2F352bab412d75fa19d0a07504553b59df
245
+ - test/dummy/tmp/cache/assets/D32/A10/sprockets%2F13fe41fee1fe35b49d145bcc06610705
246
+ - test/dummy/tmp/cache/assets/D49/8D0/sprockets%2F92613a75279536c4bcf4f3ba6cfde494
247
+ - test/dummy/tmp/cache/assets/D4E/1B0/sprockets%2Ff7cbd26ba1d28d48de824f0e94586655
248
+ - test/dummy/tmp/cache/assets/D59/6F0/sprockets%2F7c015202319d3bb46ea41d4ff9b5ac0d
249
+ - test/dummy/tmp/cache/assets/D5A/EA0/sprockets%2Fd771ace226fc8215a3572e0aa35bb0d6
250
+ - test/dummy/tmp/cache/assets/D9F/640/sprockets%2Fbbc63c99f5e0eef2a890442ea3431dd7
251
+ - test/dummy/tmp/cache/assets/DB1/370/sprockets%2F18d79bbfdd80aa3bde79ab687266d992
252
+ - test/dummy/tmp/cache/assets/DDC/400/sprockets%2Fcffd775d018f68ce5dba1ee0d951a994
253
+ - test/dummy/tmp/cache/assets/E02/0E0/sprockets%2Fa8f15cbf61c3d8edb5a99dbafd690721
254
+ - test/dummy/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af
255
+ - test/meta_types_test.rb
256
+ - test/test_helper.rb
257
+ - test/unit/meta_types/meta_type_test.rb