reform 2.3.0.rc1 → 2.3.0.rc2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (83) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -0
  3. data/.rubocop.yml +30 -0
  4. data/.rubocop_todo.yml +460 -0
  5. data/.travis.yml +26 -11
  6. data/CHANGES.md +25 -2
  7. data/Gemfile +6 -3
  8. data/ISSUE_TEMPLATE.md +1 -1
  9. data/README.md +2 -4
  10. data/Rakefile +18 -9
  11. data/lib/reform/contract.rb +7 -7
  12. data/lib/reform/contract/custom_error.rb +41 -0
  13. data/lib/reform/contract/validate.rb +9 -5
  14. data/lib/reform/errors.rb +27 -15
  15. data/lib/reform/form.rb +22 -11
  16. data/lib/reform/form/call.rb +1 -1
  17. data/lib/reform/form/composition.rb +2 -2
  18. data/lib/reform/form/dry.rb +10 -86
  19. data/lib/reform/form/dry/input_hash.rb +37 -0
  20. data/lib/reform/form/dry/new_api.rb +58 -0
  21. data/lib/reform/form/dry/old_api.rb +61 -0
  22. data/lib/reform/form/populator.rb +9 -11
  23. data/lib/reform/form/prepopulate.rb +3 -2
  24. data/lib/reform/form/validate.rb +19 -12
  25. data/lib/reform/result.rb +36 -9
  26. data/lib/reform/validation.rb +10 -8
  27. data/lib/reform/validation/groups.rb +2 -3
  28. data/lib/reform/version.rb +1 -1
  29. data/reform.gemspec +10 -9
  30. data/test/benchmarking.rb +10 -11
  31. data/test/call_new_api.rb +23 -0
  32. data/test/{call_test.rb → call_old_api.rb} +3 -3
  33. data/test/changed_test.rb +7 -7
  34. data/test/coercion_test.rb +50 -18
  35. data/test/composition_new_api.rb +186 -0
  36. data/test/{composition_test.rb → composition_old_api.rb} +23 -26
  37. data/test/contract/custom_error_test.rb +55 -0
  38. data/test/contract_new_api.rb +77 -0
  39. data/test/{contract_test.rb → contract_old_api.rb} +8 -8
  40. data/test/default_test.rb +1 -1
  41. data/test/deserialize_test.rb +8 -11
  42. data/test/errors_new_api.rb +225 -0
  43. data/test/errors_old_api.rb +230 -0
  44. data/test/feature_test.rb +7 -9
  45. data/test/fixtures/dry_error_messages.yml +5 -2
  46. data/test/fixtures/dry_new_api_error_messages.yml +104 -0
  47. data/test/form_new_api.rb +57 -0
  48. data/test/{form_test.rb → form_old_api.rb} +2 -2
  49. data/test/form_option_new_api.rb +24 -0
  50. data/test/{form_option_test.rb → form_option_old_api.rb} +1 -1
  51. data/test/from_test.rb +8 -12
  52. data/test/inherit_new_api.rb +105 -0
  53. data/test/{inherit_test.rb → inherit_old_api.rb} +10 -17
  54. data/test/module_new_api.rb +137 -0
  55. data/test/{module_test.rb → module_old_api.rb} +19 -15
  56. data/test/parse_option_test.rb +5 -5
  57. data/test/parse_pipeline_test.rb +2 -2
  58. data/test/populate_new_api.rb +304 -0
  59. data/test/{populate_test.rb → populate_old_api.rb} +28 -34
  60. data/test/populator_skip_test.rb +1 -2
  61. data/test/prepopulator_test.rb +5 -6
  62. data/test/read_only_test.rb +12 -1
  63. data/test/readable_test.rb +5 -5
  64. data/test/reform_new_api.rb +204 -0
  65. data/test/{reform_test.rb → reform_old_api.rb} +17 -23
  66. data/test/save_new_api.rb +101 -0
  67. data/test/{save_test.rb → save_old_api.rb} +10 -13
  68. data/test/setup_test.rb +6 -6
  69. data/test/{skip_if_test.rb → skip_if_new_api.rb} +20 -9
  70. data/test/skip_if_old_api.rb +92 -0
  71. data/test/skip_setter_and_getter_test.rb +2 -3
  72. data/test/test_helper.rb +13 -5
  73. data/test/validate_new_api.rb +408 -0
  74. data/test/{validate_test.rb → validate_old_api.rb} +43 -53
  75. data/test/validation/dry_validation_new_api.rb +826 -0
  76. data/test/validation/{dry_validation_test.rb → dry_validation_old_api.rb} +223 -116
  77. data/test/validation/result_test.rb +20 -22
  78. data/test/validation_library_provided_test.rb +3 -3
  79. data/test/virtual_test.rb +46 -6
  80. data/test/writeable_test.rb +7 -7
  81. metadata +101 -51
  82. data/test/errors_test.rb +0 -180
  83. data/test/readonly_test.rb +0 -14
@@ -8,8 +8,8 @@ class ErrorsResultTest < Minitest::Spec
8
8
  # TODO: errors(args) not tested.
9
9
 
10
10
  describe "Contract::Result#success?" do
11
- let (:failed) { MyResult.new(false) }
12
- let (:succeeded) { MyResult.new(true) }
11
+ let(:failed) { MyResult.new(false) }
12
+ let(:succeeded) { MyResult.new(true) }
13
13
 
14
14
  it { Reform::Contract::Result.new([failed, failed]).success?.must_equal false }
15
15
  it { Reform::Contract::Result.new([succeeded, failed]).success?.must_equal false }
@@ -18,62 +18,60 @@ class ErrorsResultTest < Minitest::Spec
18
18
  end
19
19
 
20
20
  describe "Contract::Result#errors" do
21
- let (:results) {
21
+ let(:results) do
22
22
  [
23
- MyResult.new(false, { title: ["must be filled"], nested: { something: [] } }),
24
- MyResult.new(false, { length: ["no Int"] })
23
+ MyResult.new(false, {length: ["no Int"]}),
24
+ MyResult.new(false, {title: ["must be filled"], nested: {something: []}}),
25
+ MyResult.new(false, {title: ["must be filled"], nested: {something: []}}),
26
+ MyResult.new(false, {title: ["something more"], nested: {something: []}})
25
27
  ]
26
- }
28
+ end
27
29
 
28
- it { Reform::Contract::Result.new(results).errors.must_equal({:title=>["must be filled"], :length=>["no Int"]}) }
30
+ it { Reform::Contract::Result.new(results).errors.must_equal({title: ["must be filled", "something more"], length: ["no Int"]}) }
29
31
  end
30
32
 
31
33
  describe "Result::Pointer" do
32
- let (:errors) do # dry result #errors format.
34
+ let(:errors) do # dry result #errors format.
33
35
  {
34
36
  title: ["ignore"],
35
- artist: { age: ["too old"],
37
+ artist: {age: ["too old"],
36
38
  bands: {
37
- 0 => { name: "too new school" },
38
- 1 => { name: "too boring" },
39
+ 0 => {name: "too new school"},
40
+ 1 => {name: "too boring"},
39
41
  }
40
42
  }
41
43
  }
42
44
  end
43
45
 
44
- let (:top) { Reform::Contract::Result::Pointer.new(MyResult.new(false, errors), []) }
46
+ let(:top) { Reform::Contract::Result::Pointer.new(MyResult.new(false, errors), []) }
45
47
  it { top.success?.must_equal false }
46
48
  it { top.errors.must_equal errors }
47
49
 
48
- let (:artist) { Reform::Contract::Result::Pointer.new(MyResult.new(false, errors), [:artist]) }
50
+ let(:artist) { Reform::Contract::Result::Pointer.new(MyResult.new(false, errors), [:artist]) }
49
51
  it { artist.success?.must_equal false }
50
- it { artist.errors.must_equal({:age=>["too old"], :bands=>{0=>{:name=>"too new school"}, 1=>{:name=>"too boring"}}}) }
52
+ it { artist.errors.must_equal({age: ["too old"], bands: {0 => {name: "too new school"}, 1 => {name: "too boring"}}}) }
51
53
 
52
- let (:band) { Reform::Contract::Result::Pointer.new(MyResult.new(false, errors), [:artist, :bands, 1]) }
54
+ let(:band) { Reform::Contract::Result::Pointer.new(MyResult.new(false, errors), [:artist, :bands, 1]) }
53
55
  it { band.success?.must_equal false }
54
- it { band.errors.must_equal({:name=>"too boring"}) }
56
+ it { band.errors.must_equal({name: "too boring"}) }
55
57
 
56
58
  describe "advance" do
57
59
  let(:advanced) { artist.advance(:bands, 1) }
58
60
 
59
61
  it { advanced.success?.must_equal false }
60
- it { advanced.errors.must_equal({:name=>"too boring"}) }
62
+ it { advanced.errors.must_equal({name: "too boring"}) }
61
63
 
62
- it { artist.advance([:absolute, :nonsense]).must_equal nil }
64
+ it { artist.advance(%i[absolute nonsense]).must_be_nil }
63
65
  end
64
66
  end
65
67
  end
66
68
 
67
-
68
69
  # validation group:
69
70
 
70
71
  # form.errors/messages/hint(*args) ==> {:title: [..]}
71
72
  # @call_result.errors/messages/hint(*args) }
72
73
 
73
-
74
-
75
74
  # # result = Result(original_result => [:band, :label], my_local_result => [] )
76
75
  # # result.messages(locale: :en) merges original_result and my_local_result
77
76
 
78
77
  # form.errors => Result(fetch tree of all nested forms.messages(*args))
79
-
@@ -1,8 +1,8 @@
1
- require 'reform'
2
- require 'minitest/autorun'
1
+ require "reform"
2
+ require "minitest/autorun"
3
3
 
4
4
  class ValidationLibraryProvidedTest < MiniTest::Spec
5
- it 'no validation library loaded' do
5
+ it "no validation library loaded" do
6
6
  assert_raises Reform::Validation::NoValidationLibraryError do
7
7
  class PersonForm < Reform::Form
8
8
  property :name
@@ -1,16 +1,20 @@
1
- require 'test_helper'
1
+ require "test_helper"
2
2
 
3
3
  class VirtualTest < MiniTest::Spec
4
4
  class CreditCardForm < TestForm
5
5
  property :credit_card_number, virtual: true # no read, no write, it's virtual.
6
+ collection :transactions, virtual: true, populate_if_empty: OpenStruct do
7
+ property :id
8
+ end
6
9
  end
7
10
 
8
- let (:form) { CreditCardForm.new(Object.new) }
11
+ let(:form) { CreditCardForm.new(Object.new) }
9
12
 
10
13
  it {
11
- form.validate("credit_card_number" => "123")
14
+ form.validate(credit_card_number: "123", transactions: [id: 1])
12
15
 
13
- form.credit_card_number.must_equal "123" # this is still readable in the UI.
16
+ form.credit_card_number.must_equal "123" # this is still readable in the UI.
17
+ form.transactions.first.id.must_equal 1 # this is still readable in the UI.
14
18
 
15
19
  form.sync
16
20
 
@@ -19,6 +23,42 @@ class VirtualTest < MiniTest::Spec
19
23
  hash = nested
20
24
  end
21
25
 
22
- hash.must_equal("credit_card_number"=> "123")
26
+ hash.must_equal("credit_card_number" => "123", "transactions" => ["id" => 1])
27
+ }
28
+ end
29
+
30
+ class VirtualAndDefaultTest < MiniTest::Spec
31
+ class CreditCardForm < TestForm
32
+ property :credit_card_number, virtual: true, default: "123" # no read, no write, it's virtual.
33
+ collection :transactions, virtual: true, populate_if_empty: OpenStruct, default: [OpenStruct.new(id: 2)] do
34
+ property :id
35
+ end
36
+ end
37
+
38
+ def hash(form)
39
+ hash = {}
40
+ form.save do |nested|
41
+ hash = nested
42
+ end
43
+ hash
44
+ end
45
+
46
+ let(:form) { CreditCardForm.new(Object.new) }
47
+
48
+ it {
49
+ form = CreditCardForm.new(Object.new)
50
+ form.validate({})
51
+
52
+ hash(form).must_equal("credit_card_number" => "123", "transactions" => ["id" => 2])
53
+
54
+ form = CreditCardForm.new(Object.new)
55
+ form.validate(credit_card_number: "123", transactions: [id: 1])
56
+
57
+ form.credit_card_number.must_equal "123" # this is still readable in the UI.
58
+ form.transactions.first.id.must_equal 1 # this is still readable in the UI.
59
+
60
+ form.sync
61
+
62
+ hash(form).must_equal("credit_card_number" => "123", "transactions" => ["id" => 1])
23
63
  }
24
- end
64
+ end
@@ -1,4 +1,4 @@
1
- require 'test_helper'
1
+ require "test_helper"
2
2
 
3
3
  class WriteableTest < MiniTest::Spec
4
4
  Location = Struct.new(:country)
@@ -7,8 +7,8 @@ class WriteableTest < MiniTest::Spec
7
7
  property :country, writeable: false
8
8
  end
9
9
 
10
- let (:loc) { Location.new("Australia") }
11
- let (:form) { LocationForm.new(loc) }
10
+ let(:loc) { Location.new("Australia") }
11
+ let(:form) { LocationForm.new(loc) }
12
12
 
13
13
  it do
14
14
  form.country.must_equal "Australia"
@@ -24,7 +24,7 @@ class WriteableTest < MiniTest::Spec
24
24
  hash = nested
25
25
  end
26
26
 
27
- hash.must_equal("country"=> "Germany")
27
+ hash.must_equal("country" => "Germany")
28
28
  end
29
29
  end
30
30
 
@@ -36,8 +36,8 @@ class WritableTest < MiniTest::Spec
36
36
  property :country, writable: false
37
37
  end
38
38
 
39
- let (:loc) { Location.new("Australia") }
40
- let (:form) { LocationForm.new(loc) }
39
+ let(:loc) { Location.new("Australia") }
40
+ let(:form) { LocationForm.new(loc) }
41
41
 
42
42
  it do
43
43
  form.country.must_equal "Australia"
@@ -53,6 +53,6 @@ class WritableTest < MiniTest::Spec
53
53
  hash = nested
54
54
  end
55
55
 
56
- hash.must_equal("country"=> "Germany")
56
+ hash.must_equal("country" => "Germany")
57
57
  end
58
58
  end
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.3.0.rc1
4
+ version: 2.3.0.rc2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nick Sutterer
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2017-02-26 00:00:00.000000000 Z
12
+ date: 2019-11-05 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: disposable
@@ -32,39 +32,39 @@ dependencies:
32
32
  - !ruby/object:Gem::Version
33
33
  version: 0.5.0
34
34
  - !ruby/object:Gem::Dependency
35
- name: uber
35
+ name: representable
36
36
  requirement: !ruby/object:Gem::Requirement
37
37
  requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: 2.4.0
38
41
  - - "<"
39
42
  - !ruby/object:Gem::Version
40
- version: 0.2.0
43
+ version: 3.1.0
41
44
  type: :runtime
42
45
  prerelease: false
43
46
  version_requirements: !ruby/object:Gem::Requirement
44
47
  requirements:
48
+ - - ">="
49
+ - !ruby/object:Gem::Version
50
+ version: 2.4.0
45
51
  - - "<"
46
52
  - !ruby/object:Gem::Version
47
- version: 0.2.0
53
+ version: 3.1.0
48
54
  - !ruby/object:Gem::Dependency
49
- name: representable
55
+ name: uber
50
56
  requirement: !ruby/object:Gem::Requirement
51
57
  requirements:
52
- - - ">="
53
- - !ruby/object:Gem::Version
54
- version: 2.4.0
55
58
  - - "<"
56
59
  - !ruby/object:Gem::Version
57
- version: 3.1.0
60
+ version: 0.2.0
58
61
  type: :runtime
59
62
  prerelease: false
60
63
  version_requirements: !ruby/object:Gem::Requirement
61
64
  requirements:
62
- - - ">="
63
- - !ruby/object:Gem::Version
64
- version: 2.4.0
65
65
  - - "<"
66
66
  - !ruby/object:Gem::Version
67
- version: 3.1.0
67
+ version: 0.2.0
68
68
  - !ruby/object:Gem::Dependency
69
69
  name: bundler
70
70
  requirement: !ruby/object:Gem::Requirement
@@ -80,7 +80,7 @@ dependencies:
80
80
  - !ruby/object:Gem::Version
81
81
  version: '0'
82
82
  - !ruby/object:Gem::Dependency
83
- name: rake
83
+ name: minitest
84
84
  requirement: !ruby/object:Gem::Requirement
85
85
  requirements:
86
86
  - - ">="
@@ -94,7 +94,7 @@ dependencies:
94
94
  - !ruby/object:Gem::Version
95
95
  version: '0'
96
96
  - !ruby/object:Gem::Dependency
97
- name: minitest
97
+ name: minitest-line
98
98
  requirement: !ruby/object:Gem::Requirement
99
99
  requirements:
100
100
  - - ">="
@@ -108,7 +108,7 @@ dependencies:
108
108
  - !ruby/object:Gem::Version
109
109
  version: '0'
110
110
  - !ruby/object:Gem::Dependency
111
- name: dry-types
111
+ name: byebug
112
112
  requirement: !ruby/object:Gem::Requirement
113
113
  requirements:
114
114
  - - ">="
@@ -136,19 +136,33 @@ dependencies:
136
136
  - !ruby/object:Gem::Version
137
137
  version: '0'
138
138
  - !ruby/object:Gem::Dependency
139
- name: dry-validation
139
+ name: rake
140
140
  requirement: !ruby/object:Gem::Requirement
141
141
  requirements:
142
142
  - - ">="
143
143
  - !ruby/object:Gem::Version
144
- version: 0.10.1
144
+ version: '0'
145
145
  type: :development
146
146
  prerelease: false
147
147
  version_requirements: !ruby/object:Gem::Requirement
148
148
  requirements:
149
149
  - - ">="
150
150
  - !ruby/object:Gem::Version
151
- version: 0.10.1
151
+ version: '0'
152
+ - !ruby/object:Gem::Dependency
153
+ name: rubocop
154
+ requirement: !ruby/object:Gem::Requirement
155
+ requirements:
156
+ - - ">="
157
+ - !ruby/object:Gem::Version
158
+ version: '0'
159
+ type: :development
160
+ prerelease: false
161
+ version_requirements: !ruby/object:Gem::Requirement
162
+ requirements:
163
+ - - ">="
164
+ - !ruby/object:Gem::Version
165
+ version: '0'
152
166
  description: Form object decoupled from models.
153
167
  email:
154
168
  - apotonick@gmail.com
@@ -158,6 +172,8 @@ extensions: []
158
172
  extra_rdoc_files: []
159
173
  files:
160
174
  - ".gitignore"
175
+ - ".rubocop.yml"
176
+ - ".rubocop_todo.yml"
161
177
  - ".travis.yml"
162
178
  - CHANGES.md
163
179
  - CONTRIBUTING.md
@@ -169,6 +185,7 @@ files:
169
185
  - TODO.md
170
186
  - lib/reform.rb
171
187
  - lib/reform/contract.rb
188
+ - lib/reform/contract/custom_error.rb
172
189
  - lib/reform/contract/validate.rb
173
190
  - lib/reform/errors.rb
174
191
  - lib/reform/form.rb
@@ -176,6 +193,9 @@ files:
176
193
  - lib/reform/form/coercion.rb
177
194
  - lib/reform/form/composition.rb
178
195
  - lib/reform/form/dry.rb
196
+ - lib/reform/form/dry/input_hash.rb
197
+ - lib/reform/form/dry/new_api.rb
198
+ - lib/reform/form/dry/old_api.rb
179
199
  - lib/reform/form/module.rb
180
200
  - lib/reform/form/populator.rb
181
201
  - lib/reform/form/prepopulate.rb
@@ -186,37 +206,52 @@ files:
186
206
  - lib/reform/version.rb
187
207
  - reform.gemspec
188
208
  - test/benchmarking.rb
189
- - test/call_test.rb
209
+ - test/call_new_api.rb
210
+ - test/call_old_api.rb
190
211
  - test/changed_test.rb
191
212
  - test/coercion_test.rb
192
- - test/composition_test.rb
193
- - test/contract_test.rb
213
+ - test/composition_new_api.rb
214
+ - test/composition_old_api.rb
215
+ - test/contract/custom_error_test.rb
216
+ - test/contract_new_api.rb
217
+ - test/contract_old_api.rb
194
218
  - test/default_test.rb
195
219
  - test/deserialize_test.rb
196
- - test/errors_test.rb
220
+ - test/errors_new_api.rb
221
+ - test/errors_old_api.rb
197
222
  - test/feature_test.rb
198
223
  - test/fixtures/dry_error_messages.yml
199
- - test/form_option_test.rb
200
- - test/form_test.rb
224
+ - test/fixtures/dry_new_api_error_messages.yml
225
+ - test/form_new_api.rb
226
+ - test/form_old_api.rb
227
+ - test/form_option_new_api.rb
228
+ - test/form_option_old_api.rb
201
229
  - test/from_test.rb
202
- - test/inherit_test.rb
203
- - test/module_test.rb
230
+ - test/inherit_new_api.rb
231
+ - test/inherit_old_api.rb
232
+ - test/module_new_api.rb
233
+ - test/module_old_api.rb
204
234
  - test/parse_option_test.rb
205
235
  - test/parse_pipeline_test.rb
206
- - test/populate_test.rb
236
+ - test/populate_new_api.rb
237
+ - test/populate_old_api.rb
207
238
  - test/populator_skip_test.rb
208
239
  - test/prepopulator_test.rb
209
240
  - test/read_only_test.rb
210
241
  - test/readable_test.rb
211
- - test/readonly_test.rb
212
- - test/reform_test.rb
213
- - test/save_test.rb
242
+ - test/reform_new_api.rb
243
+ - test/reform_old_api.rb
244
+ - test/save_new_api.rb
245
+ - test/save_old_api.rb
214
246
  - test/setup_test.rb
215
- - test/skip_if_test.rb
247
+ - test/skip_if_new_api.rb
248
+ - test/skip_if_old_api.rb
216
249
  - test/skip_setter_and_getter_test.rb
217
250
  - test/test_helper.rb
218
- - test/validate_test.rb
219
- - test/validation/dry_validation_test.rb
251
+ - test/validate_new_api.rb
252
+ - test/validate_old_api.rb
253
+ - test/validation/dry_validation_new_api.rb
254
+ - test/validation/dry_validation_old_api.rb
220
255
  - test/validation/result_test.rb
221
256
  - test/validation_library_provided_test.rb
222
257
  - test/virtual_test.rb
@@ -241,43 +276,58 @@ required_rubygems_version: !ruby/object:Gem::Requirement
241
276
  version: 1.3.1
242
277
  requirements: []
243
278
  rubyforge_project:
244
- rubygems_version: 2.6.3
279
+ rubygems_version: 2.6.14.3
245
280
  signing_key:
246
281
  specification_version: 4
247
282
  summary: Form object decoupled from models with validation, population and presentation.
248
283
  test_files:
249
284
  - test/benchmarking.rb
250
- - test/call_test.rb
285
+ - test/call_new_api.rb
286
+ - test/call_old_api.rb
251
287
  - test/changed_test.rb
252
288
  - test/coercion_test.rb
253
- - test/composition_test.rb
254
- - test/contract_test.rb
289
+ - test/composition_new_api.rb
290
+ - test/composition_old_api.rb
291
+ - test/contract/custom_error_test.rb
292
+ - test/contract_new_api.rb
293
+ - test/contract_old_api.rb
255
294
  - test/default_test.rb
256
295
  - test/deserialize_test.rb
257
- - test/errors_test.rb
296
+ - test/errors_new_api.rb
297
+ - test/errors_old_api.rb
258
298
  - test/feature_test.rb
259
299
  - test/fixtures/dry_error_messages.yml
260
- - test/form_option_test.rb
261
- - test/form_test.rb
300
+ - test/fixtures/dry_new_api_error_messages.yml
301
+ - test/form_new_api.rb
302
+ - test/form_old_api.rb
303
+ - test/form_option_new_api.rb
304
+ - test/form_option_old_api.rb
262
305
  - test/from_test.rb
263
- - test/inherit_test.rb
264
- - test/module_test.rb
306
+ - test/inherit_new_api.rb
307
+ - test/inherit_old_api.rb
308
+ - test/module_new_api.rb
309
+ - test/module_old_api.rb
265
310
  - test/parse_option_test.rb
266
311
  - test/parse_pipeline_test.rb
267
- - test/populate_test.rb
312
+ - test/populate_new_api.rb
313
+ - test/populate_old_api.rb
268
314
  - test/populator_skip_test.rb
269
315
  - test/prepopulator_test.rb
270
316
  - test/read_only_test.rb
271
317
  - test/readable_test.rb
272
- - test/readonly_test.rb
273
- - test/reform_test.rb
274
- - test/save_test.rb
318
+ - test/reform_new_api.rb
319
+ - test/reform_old_api.rb
320
+ - test/save_new_api.rb
321
+ - test/save_old_api.rb
275
322
  - test/setup_test.rb
276
- - test/skip_if_test.rb
323
+ - test/skip_if_new_api.rb
324
+ - test/skip_if_old_api.rb
277
325
  - test/skip_setter_and_getter_test.rb
278
326
  - test/test_helper.rb
279
- - test/validate_test.rb
280
- - test/validation/dry_validation_test.rb
327
+ - test/validate_new_api.rb
328
+ - test/validate_old_api.rb
329
+ - test/validation/dry_validation_new_api.rb
330
+ - test/validation/dry_validation_old_api.rb
281
331
  - test/validation/result_test.rb
282
332
  - test/validation_library_provided_test.rb
283
333
  - test/virtual_test.rb