dao 4.2.1 → 4.4.2

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 (78) hide show
  1. data/README +103 -63
  2. data/Rakefile +3 -3
  3. data/dao.gemspec +27 -16
  4. data/lib/dao.rb +17 -17
  5. data/lib/dao/active_record.rb +1 -0
  6. data/lib/dao/api.rb +2 -1
  7. data/lib/dao/api/{endpoints.rb → call.rb} +1 -0
  8. data/lib/dao/api/context.rb +2 -0
  9. data/lib/dao/api/dsl.rb +1 -0
  10. data/lib/dao/api/initializers.rb +1 -0
  11. data/lib/dao/api/modes.rb +1 -0
  12. data/lib/dao/api/routes.rb +1 -0
  13. data/lib/dao/blankslate.rb +1 -0
  14. data/lib/dao/conducer.rb +315 -274
  15. data/lib/dao/conducer/active_model.rb +98 -0
  16. data/lib/dao/conducer/attributes.rb +1 -0
  17. data/lib/dao/conducer/autocrud.rb +58 -0
  18. data/lib/dao/conducer/callback_support.rb +20 -0
  19. data/lib/dao/conducer/collection.rb +45 -0
  20. data/lib/dao/conducer/controller_support.rb +104 -0
  21. data/lib/dao/conducer/nav_support.rb +9 -0
  22. data/lib/dao/conducer/view_support.rb +16 -0
  23. data/lib/dao/data.rb +2 -1
  24. data/lib/dao/db.rb +2 -0
  25. data/lib/dao/endpoint.rb +1 -0
  26. data/lib/dao/engine.rb +1 -0
  27. data/lib/dao/errors.rb +109 -99
  28. data/lib/dao/exceptions.rb +1 -0
  29. data/lib/dao/extractor.rb +1 -0
  30. data/lib/dao/form.rb +175 -20
  31. data/lib/dao/instance_exec.rb +1 -0
  32. data/lib/dao/mode.rb +1 -0
  33. data/lib/dao/mongo_mapper.rb +1 -0
  34. data/lib/dao/name.rb +1 -0
  35. data/lib/dao/params.rb +2 -1
  36. data/lib/dao/path.rb +1 -0
  37. data/lib/dao/path_map.rb +24 -0
  38. data/lib/dao/rack.rb +1 -0
  39. data/lib/dao/rack/middleware.rb +1 -0
  40. data/lib/dao/rack/middleware/params_parser.rb +1 -0
  41. data/lib/dao/rails.rb +12 -32
  42. data/lib/dao/rails/lib/generators/dao/USAGE +2 -2
  43. data/lib/dao/rails/lib/generators/dao/dao_generator.rb +8 -27
  44. data/lib/dao/rails/lib/generators/dao/templates/api.rb +2 -1
  45. data/lib/dao/rails/lib/generators/dao/templates/api_controller.rb +22 -20
  46. data/lib/dao/rails/lib/generators/dao/templates/conducer.rb +49 -43
  47. data/lib/dao/rails/lib/generators/dao/templates/dao.css +26 -25
  48. data/lib/dao/rails/lib/generators/dao/templates/dao.js +3 -0
  49. data/lib/dao/rails/lib/generators/dao/templates/dao_helper.rb +58 -45
  50. data/lib/dao/result.rb +50 -1
  51. data/lib/dao/route.rb +1 -0
  52. data/lib/dao/slug.rb +12 -36
  53. data/lib/dao/status.rb +91 -7
  54. data/lib/dao/stdext.rb +1 -0
  55. data/lib/dao/support.rb +90 -80
  56. data/lib/dao/upload.rb +396 -0
  57. data/lib/dao/validations.rb +23 -5
  58. data/lib/dao/validations/callback.rb +5 -0
  59. data/lib/dao/validations/common.rb +100 -3
  60. data/lib/dao/validations/instance.rb +17 -0
  61. data/lib/dao/validations/validator.rb +192 -91
  62. data/test/active_model_conducer_lint_test.rb +1 -0
  63. data/test/api_test.rb +15 -0
  64. data/test/conducer_test.rb +608 -90
  65. data/test/data/han-solo.jpg +0 -0
  66. data/test/form_test.rb +1 -0
  67. data/test/helper.rb +1 -0
  68. data/test/leak.rb +1 -0
  69. data/test/support_test.rb +4 -1
  70. data/test/testing.rb +1 -0
  71. data/test/validations_test.rb +176 -30
  72. metadata +120 -131
  73. data/b.rb +0 -38
  74. data/lib/dao/conducer/crud.rb +0 -70
  75. data/lib/dao/current.rb +0 -66
  76. data/lib/dao/image_cache.rb +0 -193
  77. data/lib/dao/rails/lib/generators/dao/templates/conducer_controller.rb +0 -79
  78. data/test/db.yml +0 -9
Binary file
data/test/form_test.rb CHANGED
@@ -1,3 +1,4 @@
1
+ # -*- encoding : utf-8 -*-
1
2
  Testing Dao::Form do
2
3
  testing '.new' do
3
4
  form = new_form()
data/test/helper.rb CHANGED
@@ -1,3 +1,4 @@
1
+ # -*- encoding : utf-8 -*-
1
2
  class User < Map
2
3
  def id() self[:id] end
3
4
  def email() self[:email] end
data/test/leak.rb CHANGED
@@ -1,3 +1,4 @@
1
+ # -*- encoding : utf-8 -*-
1
2
  ##
2
3
  #
3
4
  require 'rubygems'
data/test/support_test.rb CHANGED
@@ -1,3 +1,4 @@
1
+ # -*- encoding : utf-8 -*-
1
2
  Testing Dao::Conducer do
2
3
  testing 'that dao has a root' do
3
4
  assert{ Dao.respond_to?(:root) }
@@ -24,7 +25,8 @@ Testing Dao::Conducer do
24
25
 
25
26
  'bars' => {
26
27
  'a' => 'b',
27
- 'hash.k' => 'v'
28
+ 'hash.k' => 'v',
29
+ '~42' => 'foobar'
28
30
  }
29
31
  }
30
32
  )
@@ -39,6 +41,7 @@ Testing Dao::Conducer do
39
41
  assert{ params[:bars].is_a?(Hash) }
40
42
  assert{ params[:bars][:a] == 'b' }
41
43
  assert{ params[:bars][:hash] == {'k' => 'v'} }
44
+ assert{ params[:bars]['42'] == 'foobar' }
42
45
  end
43
46
  end
44
47
 
data/test/testing.rb CHANGED
@@ -1,3 +1,4 @@
1
+ # -*- encoding : utf-8 -*-
1
2
  require 'test/unit'
2
3
 
3
4
  testdir = File.expand_path(File.dirname(__FILE__))
@@ -1,3 +1,4 @@
1
+ # -*- encoding : utf-8 -*-
1
2
  Testing Dao::Validations do
2
3
  ## status
3
4
  #
@@ -21,33 +22,22 @@ Testing Dao::Validations do
21
22
 
22
23
  ## errors
23
24
  #
24
- testing 'that clear does not drop sticky errors' do
25
+ testing 'that errors can relay from other each-able sources' do
25
26
  errors = Dao::Errors.new
26
- errors.add! 'sticky', 'error'
27
- assert{ errors['sticky'].first.sticky? }
28
- errors.add 'not-sticky', 'error'
29
- errors.clear
30
- assert{ errors['sticky'].first == 'error' }
31
- assert{ errors['not-sticky'].to_s.empty? }
32
- end
33
27
 
34
- testing 'that clear! ***does*** drop sticky errors' do
35
- errors = Dao::Errors.new
36
- errors.add! 'sticky', 'error'
37
- errors.add 'not-sticky', 'error'
38
- errors.clear!
39
- assert{ errors['sticky'].to_s.empty? }
40
- assert{ errors['not-sticky'].to_s.empty? }
41
- end
28
+ source =
29
+ assert do
30
+ c = Class.new Hash do
31
+ def self.human_attribute_name(*a) a.first.to_s end
32
+ end
33
+ m = c.new
34
+ e = ActiveModel::Errors.new(m)
35
+ e.add('foo', 'is fucked')
36
+ end
42
37
 
43
- testing 'that global errors are sticky' do
44
- errors = Dao::Errors.new
45
- global = Dao::Errors::Global
46
- errors.add! 'global-error'
47
- errors.clear
48
- assert{ errors[global].first == 'global-error' }
49
- errors.clear!
50
- assert{ errors[global].to_s.empty? }
38
+ assert{ errors.relay(source) }
39
+
40
+ assert{ errors.on(:foo) }
51
41
  end
52
42
 
53
43
  ## validations
@@ -81,7 +71,7 @@ Testing Dao::Validations do
81
71
  }
82
72
  end
83
73
 
84
- testing 'that validations use instance_exec' do
74
+ testing 'that validations use instance_exec - as god intended' do
85
75
  return :pending
86
76
 
87
77
  a, b = nil
@@ -126,21 +116,177 @@ Testing Dao::Validations do
126
116
 
127
117
  ## validating
128
118
  #
129
- testing 'that validations can be cleared and do not clobber manually added errors' do
119
+ testing 'that validations clear only that which they know about' do
130
120
  params = Dao::Params.new
131
121
  errors = params.errors
132
122
 
133
123
  assert{ params.validates(:email){|email| email.to_s.split(/@/).size == 2} }
134
124
  assert{ params.validates(:password){|password| password == 'pa$$w0rd'} }
135
125
 
136
- params.set(:email => 'ara@dojo4.com', :password => 'pa$$w0rd')
126
+ params.set(:email => 'ara@dojo4.com')
127
+
128
+
129
+ params.set(:password => 'haxor')
130
+ assert{ !params.valid? }
131
+ assert{ !params.errors.on(:password).empty? }
132
+
133
+ params.set(:password => 'pa$$w0rd')
137
134
  assert{ params.valid? }
135
+ assert{ params.errors.on(:password).empty? }
136
+
137
+
138
+ params.errors.add 'foo', 'is fucked'
139
+
138
140
 
139
141
  params.set(:password => 'haxor')
140
- assert{ !params.valid?(:validate => true) }
142
+ assert{ !params.valid? }
143
+ assert{ !params.errors.on(:password).empty? }
144
+ assert{ !params.errors.on(:foo).empty? }
145
+
146
+
147
+ params.set(:password => 'pa$$w0rd')
148
+ assert{ !params.valid? }
149
+ assert{ params.errors.on(:password).empty? }
150
+ assert{ !params.errors.on(:foo).empty? }
151
+ end
152
+
153
+ ## stand alone validations
154
+ #
155
+ testing 'that validations can be used standalone' do
156
+ attributes = {
157
+ :email => 'ara@dojo4.com',
158
+ :password => 'pa$$w0rd'
159
+ }
160
+
161
+ v = assert{ Dao::Validations.for(attributes) }
162
+
163
+ assert{ v.validates(:email){|email| email.to_s.split(/@/).size == 2} }
164
+ assert{ v.validates(:password){|password| password == 'pa$$w0rd'} }
165
+ assert{ v.valid? }
166
+
167
+ v.set(:password => 'haxor')
168
+ assert{ !v.valid? }
169
+ end
170
+
171
+ ## prefixed validations
172
+ #
173
+ testing 'nested validations' do
174
+ #
175
+ attributes = {
176
+ :list => [
177
+ {:k => :v},
178
+ {:K => :V}
179
+ ]
180
+ }
181
+
182
+ #
183
+ v = assert{ Dao::Validations.for(attributes) }
184
+ ran = 0
185
+ assert{
186
+ v.validates :list do |list|
187
+ list.size.times do |i|
188
+ validates i do
189
+ ran += 1
190
+ end
191
+ end
192
+ true
193
+ end
194
+ }
195
+ assert{ v.run_validations }
196
+ assert{ ran == 2 }
197
+
198
+ #
199
+ v = assert{ Dao::Validations.for(attributes) }
200
+ ran = 0
201
+ assert{
202
+ v.validates :list do |list|
203
+ list.each_with_index do |item, index|
204
+ item.each do |k,v|
205
+ validates index, k do |value|
206
+ ran += 1
207
+ value==v
208
+ end
209
+ end
210
+ end
211
+ true
212
+ end
213
+ }
214
+ assert{ v.run_validations }
215
+ assert{ ran == 2 }
216
+
217
+ #
218
+ v = assert{ Dao::Validations.for(attributes) }
219
+ ran = 0
220
+ assert{
221
+ v.validates_each :list do |item|
222
+ item.each do |k,v|
223
+ validates k do |value|
224
+ ran += 1
225
+ value==v
226
+ end
227
+ end
228
+ true
229
+ end
230
+ }
231
+ assert{ v.run_validations }
232
+ assert{ ran == 2 }
233
+
234
+ #
235
+ attributes = {
236
+ :users => [
237
+ {
238
+ :name => 'jane doe',
239
+
240
+ :roles => [
241
+ { :name => :admin },
242
+ { :name => :user },
243
+ ]
244
+ },
245
+ {
246
+ :name => 'john doe',
247
+
248
+ :roles => [
249
+ { :name => :user },
250
+ ]
251
+ }
252
+ ]
253
+ }
254
+
255
+ v = assert{ Dao::Validations.for(attributes) }
256
+ ran = 0
257
+ assert{
258
+
259
+ v.validates_each :users do
260
+ validates_presence_of :name
261
+ validates_presence_of :missing
262
+
263
+ validates :name do |name|
264
+ ran += 1
265
+ name =~ /doe/
266
+ end
267
+
268
+ validates_each :roles do |role|
269
+ validates_presence_of :missing
270
+
271
+ validates :name do |name|
272
+ ran += 1
273
+ name =~ /admin|user/
274
+ end
275
+ end
276
+ end
277
+
278
+ }
279
+ assert{ v.run_validations }
280
+ assert{ ran == 5 }
281
+ assert{ v.errors.on(:users, 0, :name).blank? }
282
+ assert{ v.errors.on(:users, 1, :name).blank? }
283
+
284
+ assert{ !v.errors.on(:users, 0, :missing).blank? }
285
+ assert{ !v.errors.on(:users, 1, :missing).blank? }
141
286
 
142
- errors.add(:name, 'ara')
143
- assert{ not params.valid? }
287
+ assert{ !v.errors.on(:users, 0, :roles, 0, :missing).blank? }
288
+ assert{ !v.errors.on(:users, 0, :roles, 1, :missing).blank? }
289
+ assert{ !v.errors.on(:users, 1, :roles, 0, :missing).blank? }
144
290
  end
145
291
  end
146
292
 
metadata CHANGED
@@ -1,154 +1,154 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: dao
3
- version: !ruby/object:Gem::Version
4
- hash: 53
3
+ version: !ruby/object:Gem::Version
4
+ version: 4.4.2
5
5
  prerelease:
6
- segments:
7
- - 4
8
- - 2
9
- - 1
10
- version: 4.2.1
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Ara T. Howard
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2011-10-05 00:00:00 Z
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
12
+ date: 2012-05-10 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
21
15
  name: rails
16
+ requirement: &70096563951840 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '3.1'
22
+ type: :runtime
22
23
  prerelease: false
23
- requirement: &id001 !ruby/object:Gem::Requirement
24
+ version_requirements: *70096563951840
25
+ - !ruby/object:Gem::Dependency
26
+ name: map
27
+ requirement: &70096563950820 !ruby/object:Gem::Requirement
24
28
  none: false
25
- requirements:
26
- - - ~>
27
- - !ruby/object:Gem::Version
28
- hash: 7
29
- segments:
30
- - 3
31
- - 0
32
- version: "3.0"
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '5.4'
33
33
  type: :runtime
34
- version_requirements: *id001
35
- - !ruby/object:Gem::Dependency
36
- name: uuidtools
37
34
  prerelease: false
38
- requirement: &id002 !ruby/object:Gem::Requirement
35
+ version_requirements: *70096563950820
36
+ - !ruby/object:Gem::Dependency
37
+ name: fattr
38
+ requirement: &70096563949380 !ruby/object:Gem::Requirement
39
39
  none: false
40
- requirements:
41
- - - ~>
42
- - !ruby/object:Gem::Version
43
- hash: 1
44
- segments:
45
- - 2
46
- - 1
47
- version: "2.1"
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
43
+ version: '2.2'
48
44
  type: :runtime
49
- version_requirements: *id002
50
- - !ruby/object:Gem::Dependency
45
+ prerelease: false
46
+ version_requirements: *70096563949380
47
+ - !ruby/object:Gem::Dependency
51
48
  name: tagz
49
+ requirement: &70096560025800 !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '9.3'
55
+ type: :runtime
52
56
  prerelease: false
53
- requirement: &id003 !ruby/object:Gem::Requirement
57
+ version_requirements: *70096560025800
58
+ - !ruby/object:Gem::Dependency
59
+ name: multi_json
60
+ requirement: &70096560024480 !ruby/object:Gem::Requirement
54
61
  none: false
55
- requirements:
56
- - - ~>
57
- - !ruby/object:Gem::Version
58
- hash: 47
59
- segments:
60
- - 9
61
- - 0
62
- version: "9.0"
62
+ requirements:
63
+ - - ! '>='
64
+ - !ruby/object:Gem::Version
65
+ version: 1.0.3
63
66
  type: :runtime
64
- version_requirements: *id003
65
- - !ruby/object:Gem::Dependency
66
- name: fattr
67
67
  prerelease: false
68
- requirement: &id004 !ruby/object:Gem::Requirement
68
+ version_requirements: *70096560024480
69
+ - !ruby/object:Gem::Dependency
70
+ name: uuidtools
71
+ requirement: &70096560023240 !ruby/object:Gem::Requirement
69
72
  none: false
70
- requirements:
71
- - - ~>
72
- - !ruby/object:Gem::Version
73
- hash: 7
74
- segments:
75
- - 2
76
- - 2
77
- version: "2.2"
73
+ requirements:
74
+ - - ! '>='
75
+ - !ruby/object:Gem::Version
76
+ version: 2.1.2
78
77
  type: :runtime
79
- version_requirements: *id004
80
- - !ruby/object:Gem::Dependency
81
- name: map
82
78
  prerelease: false
83
- requirement: &id005 !ruby/object:Gem::Requirement
79
+ version_requirements: *70096560023240
80
+ - !ruby/object:Gem::Dependency
81
+ name: wrap
82
+ requirement: &70096560022180 !ruby/object:Gem::Requirement
84
83
  none: false
85
- requirements:
86
- - - ~>
87
- - !ruby/object:Gem::Version
88
- hash: 19
89
- segments:
90
- - 4
91
- - 4
92
- version: "4.4"
84
+ requirements:
85
+ - - ! '>='
86
+ - !ruby/object:Gem::Version
87
+ version: 1.5.0
93
88
  type: :runtime
94
- version_requirements: *id005
95
- - !ruby/object:Gem::Dependency
96
- name: unidecode
97
89
  prerelease: false
98
- requirement: &id006 !ruby/object:Gem::Requirement
90
+ version_requirements: *70096560022180
91
+ - !ruby/object:Gem::Dependency
92
+ name: rails_current
93
+ requirement: &70096560021640 !ruby/object:Gem::Requirement
99
94
  none: false
100
- requirements:
101
- - - ~>
102
- - !ruby/object:Gem::Version
103
- hash: 15
104
- segments:
105
- - 1
106
- - 0
107
- version: "1.0"
95
+ requirements:
96
+ - - ! '>='
97
+ - !ruby/object:Gem::Version
98
+ version: '1.6'
108
99
  type: :runtime
109
- version_requirements: *id006
110
- - !ruby/object:Gem::Dependency
111
- name: yajl-ruby
112
100
  prerelease: false
113
- requirement: &id007 !ruby/object:Gem::Requirement
101
+ version_requirements: *70096560021640
102
+ - !ruby/object:Gem::Dependency
103
+ name: rails_nav
104
+ requirement: &70096560020900 !ruby/object:Gem::Requirement
114
105
  none: false
115
- requirements:
116
- - - ~>
117
- - !ruby/object:Gem::Version
118
- hash: 27
119
- segments:
120
- - 0
121
- - 8
122
- version: "0.8"
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: 1.0.1
123
110
  type: :runtime
124
- version_requirements: *id007
125
- description: "description: dao kicks the ass"
111
+ prerelease: false
112
+ version_requirements: *70096560020900
113
+ - !ruby/object:Gem::Dependency
114
+ name: rails_helper
115
+ requirement: &70096560020140 !ruby/object:Gem::Requirement
116
+ none: false
117
+ requirements:
118
+ - - ! '>='
119
+ - !ruby/object:Gem::Version
120
+ version: 1.3.0
121
+ type: :runtime
122
+ prerelease: false
123
+ version_requirements: *70096560020140
124
+ description: ! 'description: dao kicks the ass'
126
125
  email: ara.t.howard@gmail.com
127
126
  executables: []
128
-
129
127
  extensions: []
130
-
131
128
  extra_rdoc_files: []
132
-
133
- files:
129
+ files:
134
130
  - README
135
131
  - Rakefile
136
- - b.rb
137
132
  - dao.gemspec
138
133
  - lib/dao.rb
139
134
  - lib/dao/active_record.rb
140
135
  - lib/dao/api.rb
136
+ - lib/dao/api/call.rb
141
137
  - lib/dao/api/context.rb
142
138
  - lib/dao/api/dsl.rb
143
- - lib/dao/api/endpoints.rb
144
139
  - lib/dao/api/initializers.rb
145
140
  - lib/dao/api/modes.rb
146
141
  - lib/dao/api/routes.rb
147
142
  - lib/dao/blankslate.rb
148
143
  - lib/dao/conducer.rb
144
+ - lib/dao/conducer/active_model.rb
149
145
  - lib/dao/conducer/attributes.rb
150
- - lib/dao/conducer/crud.rb
151
- - lib/dao/current.rb
146
+ - lib/dao/conducer/autocrud.rb
147
+ - lib/dao/conducer/callback_support.rb
148
+ - lib/dao/conducer/collection.rb
149
+ - lib/dao/conducer/controller_support.rb
150
+ - lib/dao/conducer/nav_support.rb
151
+ - lib/dao/conducer/view_support.rb
152
152
  - lib/dao/data.rb
153
153
  - lib/dao/db.rb
154
154
  - lib/dao/endpoint.rb
@@ -157,13 +157,13 @@ files:
157
157
  - lib/dao/exceptions.rb
158
158
  - lib/dao/extractor.rb
159
159
  - lib/dao/form.rb
160
- - lib/dao/image_cache.rb
161
160
  - lib/dao/instance_exec.rb
162
161
  - lib/dao/mode.rb
163
162
  - lib/dao/mongo_mapper.rb
164
163
  - lib/dao/name.rb
165
164
  - lib/dao/params.rb
166
165
  - lib/dao/path.rb
166
+ - lib/dao/path_map.rb
167
167
  - lib/dao/rack.rb
168
168
  - lib/dao/rack/middleware.rb
169
169
  - lib/dao/rack/middleware/params_parser.rb
@@ -173,7 +173,6 @@ files:
173
173
  - lib/dao/rails/lib/generators/dao/templates/api.rb
174
174
  - lib/dao/rails/lib/generators/dao/templates/api_controller.rb
175
175
  - lib/dao/rails/lib/generators/dao/templates/conducer.rb
176
- - lib/dao/rails/lib/generators/dao/templates/conducer_controller.rb
177
176
  - lib/dao/rails/lib/generators/dao/templates/dao.css
178
177
  - lib/dao/rails/lib/generators/dao/templates/dao.js
179
178
  - lib/dao/rails/lib/generators/dao/templates/dao_helper.rb
@@ -183,14 +182,16 @@ files:
183
182
  - lib/dao/status.rb
184
183
  - lib/dao/stdext.rb
185
184
  - lib/dao/support.rb
185
+ - lib/dao/upload.rb
186
186
  - lib/dao/validations.rb
187
187
  - lib/dao/validations/callback.rb
188
188
  - lib/dao/validations/common.rb
189
+ - lib/dao/validations/instance.rb
189
190
  - lib/dao/validations/validator.rb
190
191
  - test/active_model_conducer_lint_test.rb
191
192
  - test/api_test.rb
192
193
  - test/conducer_test.rb
193
- - test/db.yml
194
+ - test/data/han-solo.jpg
194
195
  - test/form_test.rb
195
196
  - test/helper.rb
196
197
  - test/leak.rb
@@ -199,38 +200,26 @@ files:
199
200
  - test/validations_test.rb
200
201
  homepage: https://github.com/ahoward/dao
201
202
  licenses: []
202
-
203
- metadata: {}
204
-
205
203
  post_install_message:
206
204
  rdoc_options: []
207
-
208
- require_paths:
205
+ require_paths:
209
206
  - lib
210
- required_ruby_version: !ruby/object:Gem::Requirement
207
+ required_ruby_version: !ruby/object:Gem::Requirement
211
208
  none: false
212
- requirements:
213
- - - ">="
214
- - !ruby/object:Gem::Version
215
- hash: 3
216
- segments:
217
- - 0
218
- version: "0"
219
- required_rubygems_version: !ruby/object:Gem::Requirement
209
+ requirements:
210
+ - - ! '>='
211
+ - !ruby/object:Gem::Version
212
+ version: '0'
213
+ required_rubygems_version: !ruby/object:Gem::Requirement
220
214
  none: false
221
- requirements:
222
- - - ">="
223
- - !ruby/object:Gem::Version
224
- hash: 3
225
- segments:
226
- - 0
227
- version: "0"
215
+ requirements:
216
+ - - ! '>='
217
+ - !ruby/object:Gem::Version
218
+ version: '0'
228
219
  requirements: []
229
-
230
220
  rubyforge_project: codeforpeople
231
- rubygems_version: 1.8.10
221
+ rubygems_version: 1.8.11
232
222
  signing_key:
233
- specification_version: 4
223
+ specification_version: 3
234
224
  summary: dao
235
225
  test_files: []
236
-