dao 4.2.1 → 4.4.2

Sign up to get free protection for your applications and to get access to all the features.
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
-