reform 2.0.0.rc1 → 2.0.0.rc2
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.
- checksums.yaml +4 -4
- data/.travis.yml +6 -4
- data/CHANGES.md +3 -0
- data/Gemfile +1 -1
- data/README.md +47 -3
- data/database.sqlite3 +0 -0
- data/gemfiles/Gemfile.rails-4.1 +8 -0
- data/gemfiles/Gemfile.rails-4.2 +8 -0
- data/lib/reform/active_record.rb +1 -0
- data/lib/reform/contract.rb +7 -11
- data/lib/reform/contract/errors.rb +1 -15
- data/lib/reform/contract/validate.rb +13 -18
- data/lib/reform/form/active_model.rb +5 -0
- data/lib/reform/form/active_model/validations.rb +66 -0
- data/lib/reform/form/active_record.rb +2 -23
- data/lib/reform/form/lotus.rb +55 -0
- data/lib/reform/form/mongoid.rb +37 -0
- data/lib/reform/form/orm.rb +26 -0
- data/lib/reform/form/validation/unique_validator.rb +5 -0
- data/lib/reform/mongoid.rb +4 -0
- data/lib/reform/rails.rb +7 -3
- data/lib/reform/version.rb +1 -1
- data/reform.gemspec +2 -2
- data/test/active_model_test.rb +13 -12
- data/test/active_record_test.rb +0 -3
- data/test/errors_test.rb +9 -7
- data/test/form_option_test.rb +1 -1
- data/test/lotus_test.rb +150 -0
- data/test/mongoid_test.rb +311 -0
- data/test/reform_test.rb +14 -11
- data/test/test_helper.rb +13 -0
- data/test/{uniqueness_test.rb → unique_test.rb} +0 -0
- data/test/validate_test.rb +2 -11
- metadata +38 -27
data/test/reform_test.rb
CHANGED
@@ -132,18 +132,21 @@ class ReformTest < ReformSpec
|
|
132
132
|
end
|
133
133
|
|
134
134
|
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
135
|
+
unless (rails4_0? or rails3_2?)
|
136
|
+
describe "inheritance" do
|
137
|
+
class HitForm < SongForm
|
138
|
+
property :position
|
139
|
+
validates :position, :presence => true
|
140
140
|
|
141
|
-
|
142
|
-
|
143
|
-
form.
|
144
|
-
|
145
|
-
|
146
|
-
|
141
|
+
end
|
142
|
+
|
143
|
+
let (:form) { HitForm.new(OpenStruct.new()) }
|
144
|
+
it do
|
145
|
+
form.validate({"title" => "The Body"})
|
146
|
+
form.title.must_equal "The Body"
|
147
|
+
form.position.must_equal nil
|
148
|
+
form.errors.messages.must_equal({:name=>["can't be blank"], :position=>["can't be blank"]})
|
149
|
+
end
|
147
150
|
end
|
148
151
|
end
|
149
152
|
end
|
data/test/test_helper.rb
CHANGED
@@ -61,4 +61,17 @@ MiniTest::Spec.class_eval do
|
|
61
61
|
@saved
|
62
62
|
end
|
63
63
|
end
|
64
|
+
|
65
|
+
def self.rails4_0?
|
66
|
+
::ActiveModel::VERSION::MAJOR == 4 and ::ActiveModel::VERSION::MINOR == 0
|
67
|
+
end
|
68
|
+
|
69
|
+
def self.rails3_2?
|
70
|
+
::ActiveModel::VERSION::MAJOR == 3 and ::ActiveModel::VERSION::MINOR == 2
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
74
|
+
require "reform/form/active_model/validations"
|
75
|
+
Reform::Contract.class_eval do
|
76
|
+
include Reform::Form::ActiveModel::Validations
|
64
77
|
end
|
File without changes
|
data/test/validate_test.rb
CHANGED
@@ -1,14 +1,5 @@
|
|
1
1
|
require 'test_helper'
|
2
2
|
|
3
|
-
# tests: -------
|
4
|
-
# Contract
|
5
|
-
# validate
|
6
|
-
# errors
|
7
|
-
|
8
|
-
# Form
|
9
|
-
# validate
|
10
|
-
# errors
|
11
|
-
|
12
3
|
class ContractValidateTest < MiniTest::Spec
|
13
4
|
Song = Struct.new(:title, :album, :composer)
|
14
5
|
Album = Struct.new(:name, :songs, :artist)
|
@@ -53,7 +44,7 @@ class ContractValidateTest < MiniTest::Spec
|
|
53
44
|
album.name = nil
|
54
45
|
|
55
46
|
form.validate.must_equal false
|
56
|
-
form.errors.messages.inspect.must_equal "{
|
47
|
+
form.errors.messages.inspect.must_equal "{:name=>[\"can't be blank\"], :\"songs.composer.name\"=>[\"can't be blank\"]}"
|
57
48
|
end
|
58
49
|
end
|
59
50
|
|
@@ -215,7 +206,7 @@ class ValidateWithDeserializerOptionTest < MiniTest::Spec
|
|
215
206
|
"artist" => {"name" => ""},
|
216
207
|
).must_equal false
|
217
208
|
|
218
|
-
form.errors.messages.inspect.must_equal "{
|
209
|
+
form.errors.messages.inspect.must_equal "{:name=>[\"can't be blank\"], :\"songs.composer.name\"=>[\"can't be blank\"], :\"artist.name\"=>[\"can't be blank\"]}"
|
219
210
|
end
|
220
211
|
|
221
212
|
# adding to collection via :instance.
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: reform
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.0.
|
4
|
+
version: 2.0.0.rc2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nick Sutterer
|
@@ -9,22 +9,8 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2015-07-
|
12
|
+
date: 2015-07-07 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
|
-
- !ruby/object:Gem::Dependency
|
15
|
-
name: representable
|
16
|
-
requirement: !ruby/object:Gem::Requirement
|
17
|
-
requirements:
|
18
|
-
- - ">="
|
19
|
-
- !ruby/object:Gem::Version
|
20
|
-
version: 2.2.2
|
21
|
-
type: :runtime
|
22
|
-
prerelease: false
|
23
|
-
version_requirements: !ruby/object:Gem::Requirement
|
24
|
-
requirements:
|
25
|
-
- - ">="
|
26
|
-
- !ruby/object:Gem::Version
|
27
|
-
version: 2.2.2
|
28
14
|
- !ruby/object:Gem::Dependency
|
29
15
|
name: disposable
|
30
16
|
requirement: !ruby/object:Gem::Requirement
|
@@ -54,13 +40,13 @@ dependencies:
|
|
54
40
|
- !ruby/object:Gem::Version
|
55
41
|
version: 0.0.11
|
56
42
|
- !ruby/object:Gem::Dependency
|
57
|
-
name:
|
43
|
+
name: bundler
|
58
44
|
requirement: !ruby/object:Gem::Requirement
|
59
45
|
requirements:
|
60
46
|
- - ">="
|
61
47
|
- !ruby/object:Gem::Version
|
62
48
|
version: '0'
|
63
|
-
type: :
|
49
|
+
type: :development
|
64
50
|
prerelease: false
|
65
51
|
version_requirements: !ruby/object:Gem::Requirement
|
66
52
|
requirements:
|
@@ -68,7 +54,7 @@ dependencies:
|
|
68
54
|
- !ruby/object:Gem::Version
|
69
55
|
version: '0'
|
70
56
|
- !ruby/object:Gem::Dependency
|
71
|
-
name:
|
57
|
+
name: rake
|
72
58
|
requirement: !ruby/object:Gem::Requirement
|
73
59
|
requirements:
|
74
60
|
- - ">="
|
@@ -82,7 +68,7 @@ dependencies:
|
|
82
68
|
- !ruby/object:Gem::Version
|
83
69
|
version: '0'
|
84
70
|
- !ruby/object:Gem::Dependency
|
85
|
-
name:
|
71
|
+
name: minitest
|
86
72
|
requirement: !ruby/object:Gem::Requirement
|
87
73
|
requirements:
|
88
74
|
- - ">="
|
@@ -96,7 +82,7 @@ dependencies:
|
|
96
82
|
- !ruby/object:Gem::Version
|
97
83
|
version: '0'
|
98
84
|
- !ruby/object:Gem::Dependency
|
99
|
-
name:
|
85
|
+
name: activerecord
|
100
86
|
requirement: !ruby/object:Gem::Requirement
|
101
87
|
requirements:
|
102
88
|
- - ">="
|
@@ -110,7 +96,7 @@ dependencies:
|
|
110
96
|
- !ruby/object:Gem::Version
|
111
97
|
version: '0'
|
112
98
|
- !ruby/object:Gem::Dependency
|
113
|
-
name:
|
99
|
+
name: sqlite3
|
114
100
|
requirement: !ruby/object:Gem::Requirement
|
115
101
|
requirements:
|
116
102
|
- - ">="
|
@@ -124,7 +110,7 @@ dependencies:
|
|
124
110
|
- !ruby/object:Gem::Version
|
125
111
|
version: '0'
|
126
112
|
- !ruby/object:Gem::Dependency
|
127
|
-
name:
|
113
|
+
name: virtus
|
128
114
|
requirement: !ruby/object:Gem::Requirement
|
129
115
|
requirements:
|
130
116
|
- - ">="
|
@@ -138,7 +124,7 @@ dependencies:
|
|
138
124
|
- !ruby/object:Gem::Version
|
139
125
|
version: '0'
|
140
126
|
- !ruby/object:Gem::Dependency
|
141
|
-
name:
|
127
|
+
name: rails
|
142
128
|
requirement: !ruby/object:Gem::Requirement
|
143
129
|
requirements:
|
144
130
|
- - ">="
|
@@ -152,7 +138,21 @@ dependencies:
|
|
152
138
|
- !ruby/object:Gem::Version
|
153
139
|
version: '0'
|
154
140
|
- !ruby/object:Gem::Dependency
|
155
|
-
name:
|
141
|
+
name: mongoid
|
142
|
+
requirement: !ruby/object:Gem::Requirement
|
143
|
+
requirements:
|
144
|
+
- - ">="
|
145
|
+
- !ruby/object:Gem::Version
|
146
|
+
version: '0'
|
147
|
+
type: :development
|
148
|
+
prerelease: false
|
149
|
+
version_requirements: !ruby/object:Gem::Requirement
|
150
|
+
requirements:
|
151
|
+
- - ">="
|
152
|
+
- !ruby/object:Gem::Version
|
153
|
+
version: '0'
|
154
|
+
- !ruby/object:Gem::Dependency
|
155
|
+
name: lotus-validations
|
156
156
|
requirement: !ruby/object:Gem::Requirement
|
157
157
|
requirements:
|
158
158
|
- - ">="
|
@@ -200,6 +200,8 @@ files:
|
|
200
200
|
- gemfiles/Gemfile.rails-3.1
|
201
201
|
- gemfiles/Gemfile.rails-3.2
|
202
202
|
- gemfiles/Gemfile.rails-4.0
|
203
|
+
- gemfiles/Gemfile.rails-4.1
|
204
|
+
- gemfiles/Gemfile.rails-4.2
|
203
205
|
- lib/reform.rb
|
204
206
|
- lib/reform/active_record.rb
|
205
207
|
- lib/reform/contract.rb
|
@@ -208,19 +210,24 @@ files:
|
|
208
210
|
- lib/reform/form.rb
|
209
211
|
- lib/reform/form/active_model.rb
|
210
212
|
- lib/reform/form/active_model/model_validations.rb
|
213
|
+
- lib/reform/form/active_model/validations.rb
|
211
214
|
- lib/reform/form/active_record.rb
|
212
215
|
- lib/reform/form/coercion.rb
|
213
216
|
- lib/reform/form/composition.rb
|
214
217
|
- lib/reform/form/json.rb
|
218
|
+
- lib/reform/form/lotus.rb
|
215
219
|
- lib/reform/form/model_reflections.rb
|
216
220
|
- lib/reform/form/module.rb
|
221
|
+
- lib/reform/form/mongoid.rb
|
217
222
|
- lib/reform/form/multi_parameter_attributes.rb
|
223
|
+
- lib/reform/form/orm.rb
|
218
224
|
- lib/reform/form/populator.rb
|
219
225
|
- lib/reform/form/prepopulate.rb
|
220
226
|
- lib/reform/form/save.rb
|
221
227
|
- lib/reform/form/scalar.rb
|
222
228
|
- lib/reform/form/validate.rb
|
223
229
|
- lib/reform/form/validation/unique_validator.rb
|
230
|
+
- lib/reform/mongoid.rb
|
224
231
|
- lib/reform/rails.rb
|
225
232
|
- lib/reform/schema.rb
|
226
233
|
- lib/reform/twin.rb
|
@@ -266,9 +273,11 @@ files:
|
|
266
273
|
- test/form_test.rb
|
267
274
|
- test/from_test.rb
|
268
275
|
- test/inherit_test.rb
|
276
|
+
- test/lotus_test.rb
|
269
277
|
- test/model_reflections_test.rb
|
270
278
|
- test/model_validations_test.rb
|
271
279
|
- test/module_test.rb
|
280
|
+
- test/mongoid_test.rb
|
272
281
|
- test/populate_test.rb
|
273
282
|
- test/prepopulator_test.rb
|
274
283
|
- test/rails/integration_test.rb
|
@@ -282,7 +291,7 @@ files:
|
|
282
291
|
- test/skip_setter_and_getter_test.rb
|
283
292
|
- test/test_helper.rb
|
284
293
|
- test/twin_test.rb
|
285
|
-
- test/
|
294
|
+
- test/unique_test.rb
|
286
295
|
- test/validate_test.rb
|
287
296
|
- test/virtual_test.rb
|
288
297
|
- test/writeable_test.rb
|
@@ -351,9 +360,11 @@ test_files:
|
|
351
360
|
- test/form_test.rb
|
352
361
|
- test/from_test.rb
|
353
362
|
- test/inherit_test.rb
|
363
|
+
- test/lotus_test.rb
|
354
364
|
- test/model_reflections_test.rb
|
355
365
|
- test/model_validations_test.rb
|
356
366
|
- test/module_test.rb
|
367
|
+
- test/mongoid_test.rb
|
357
368
|
- test/populate_test.rb
|
358
369
|
- test/prepopulator_test.rb
|
359
370
|
- test/rails/integration_test.rb
|
@@ -367,7 +378,7 @@ test_files:
|
|
367
378
|
- test/skip_setter_and_getter_test.rb
|
368
379
|
- test/test_helper.rb
|
369
380
|
- test/twin_test.rb
|
370
|
-
- test/
|
381
|
+
- test/unique_test.rb
|
371
382
|
- test/validate_test.rb
|
372
383
|
- test/virtual_test.rb
|
373
384
|
- test/writeable_test.rb
|