schemacop 2.3.0 → 2.4.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/CHANGELOG.md +41 -0
- data/LICENSE +1 -1
- data/README.md +204 -14
- data/RUBY_VERSION +1 -1
- data/Rakefile +6 -5
- data/VERSION +1 -1
- data/doc/Schemacop.html +32 -5
- data/doc/Schemacop/ArrayValidator.html +4 -4
- data/doc/Schemacop/BooleanValidator.html +4 -4
- data/doc/Schemacop/Caster.html +379 -0
- data/doc/Schemacop/Collector.html +180 -104
- data/doc/Schemacop/Exceptions.html +3 -3
- data/doc/Schemacop/Exceptions/InvalidSchemaError.html +3 -3
- data/doc/Schemacop/Exceptions/ValidationError.html +3 -3
- data/doc/Schemacop/FieldNode.html +19 -7
- data/doc/Schemacop/FloatValidator.html +4 -4
- data/doc/Schemacop/HashValidator.html +4 -4
- data/doc/Schemacop/IntegerValidator.html +4 -4
- data/doc/Schemacop/NilValidator.html +4 -4
- data/doc/Schemacop/Node.html +97 -85
- data/doc/Schemacop/NodeResolver.html +28 -12
- data/doc/Schemacop/NodeSupportingField.html +4 -4
- data/doc/Schemacop/NodeSupportingType.html +5 -7
- data/doc/Schemacop/NodeWithBlock.html +4 -4
- data/doc/Schemacop/NumberValidator.html +4 -4
- data/doc/Schemacop/ObjectValidator.html +3 -3
- data/doc/Schemacop/RootNode.html +4 -4
- data/doc/Schemacop/Schema.html +5 -5
- data/doc/Schemacop/StringValidator.html +3 -3
- data/doc/Schemacop/SymbolValidator.html +4 -4
- data/doc/ScopedEnv.html +3 -3
- data/doc/_index.html +11 -4
- data/doc/class_list.html +1 -1
- data/doc/css/style.css +10 -6
- data/doc/file.README.html +198 -16
- data/doc/frames.html +1 -1
- data/doc/index.html +198 -16
- data/doc/js/app.js +55 -0
- data/doc/method_list.html +81 -49
- data/doc/top-level-namespace.html +3 -3
- data/lib/schemacop.rb +14 -0
- data/lib/schemacop/caster.rb +38 -0
- data/lib/schemacop/collector.rb +34 -6
- data/lib/schemacop/field_node.rb +24 -3
- data/lib/schemacop/node.rb +16 -4
- data/lib/schemacop/node_resolver.rb +10 -2
- data/lib/schemacop/node_supporting_type.rb +19 -1
- data/lib/schemacop/schema.rb +2 -2
- data/lib/schemacop/validator/array_validator.rb +1 -1
- data/lib/schemacop/validator/float_validator.rb +1 -1
- data/lib/schemacop/validator/integer_validator.rb +1 -1
- data/lib/schemacop/validator/object_validator.rb +1 -1
- data/schemacop.gemspec +15 -9
- data/test/casting_test.rb +90 -0
- data/test/custom_check_test.rb +20 -13
- data/test/custom_if_test.rb +12 -12
- data/test/defaults_test.rb +71 -0
- data/test/nil_dis_allow_test.rb +6 -6
- data/test/node_resolver_test.rb +26 -0
- data/test/short_forms_test.rb +84 -66
- data/test/test_helper.rb +7 -0
- data/test/types_test.rb +5 -5
- data/test/validator_array_test.rb +16 -16
- data/test/validator_boolean_test.rb +2 -2
- data/test/validator_float_test.rb +15 -15
- data/test/validator_hash_test.rb +5 -5
- data/test/validator_integer_test.rb +9 -9
- data/test/validator_nil_test.rb +1 -1
- data/test/validator_number_test.rb +19 -19
- data/test/validator_object_test.rb +52 -18
- data/test/validator_string_test.rb +12 -12
- data/test/validator_symbol_test.rb +2 -2
- metadata +43 -14
@@ -6,10 +6,10 @@ module Schemacop
|
|
6
6
|
s = Schema.new do
|
7
7
|
type :string
|
8
8
|
end
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
9
|
+
assert_nothing_raised { s.validate! '' }
|
10
|
+
assert_nothing_raised { s.validate! 'abc' }
|
11
|
+
assert_nothing_raised { s.validate! 123.to_s }
|
12
|
+
assert_nothing_raised { s.validate! inspect }
|
13
13
|
end
|
14
14
|
|
15
15
|
def test_option_min
|
@@ -17,8 +17,8 @@ module Schemacop
|
|
17
17
|
type :string, min: 3
|
18
18
|
end
|
19
19
|
|
20
|
-
|
21
|
-
|
20
|
+
assert_nothing_raised { s.validate!('abc') }
|
21
|
+
assert_nothing_raised { s.validate!('abcd') }
|
22
22
|
assert_verr { s.validate!('ab') }
|
23
23
|
assert_verr { s.validate!('') }
|
24
24
|
end
|
@@ -28,9 +28,9 @@ module Schemacop
|
|
28
28
|
type :string, max: 5
|
29
29
|
end
|
30
30
|
|
31
|
-
|
32
|
-
|
33
|
-
|
31
|
+
assert_nothing_raised { s.validate!('') }
|
32
|
+
assert_nothing_raised { s.validate!('abcd') }
|
33
|
+
assert_nothing_raised { s.validate!('abcde') }
|
34
34
|
assert_verr { s.validate!('abcdef') }
|
35
35
|
end
|
36
36
|
|
@@ -39,9 +39,9 @@ module Schemacop
|
|
39
39
|
type :string, min: 3, max: 5
|
40
40
|
end
|
41
41
|
|
42
|
-
|
43
|
-
|
44
|
-
|
42
|
+
assert_nothing_raised { s.validate!('abc') }
|
43
|
+
assert_nothing_raised { s.validate!('abcd') }
|
44
|
+
assert_nothing_raised { s.validate!('abcde') }
|
45
45
|
assert_verr { s.validate!('ab') }
|
46
46
|
assert_verr { s.validate!('abcdef') }
|
47
47
|
assert_verr { s.validate!('') }
|
@@ -7,8 +7,8 @@ module Schemacop
|
|
7
7
|
type :symbol
|
8
8
|
end
|
9
9
|
|
10
|
-
|
11
|
-
|
10
|
+
assert_nothing_raised { s.validate!(:good) }
|
11
|
+
assert_nothing_raised { s.validate!('-+/'.to_sym) }
|
12
12
|
assert_verr { s.validate!('bad') }
|
13
13
|
assert_verr { s.validate!(456) }
|
14
14
|
end
|
metadata
CHANGED
@@ -1,15 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: schemacop
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.4.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sitrox
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2019-11-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: activesupport
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '4.0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '4.0'
|
13
27
|
- !ruby/object:Gem::Dependency
|
14
28
|
name: bundler
|
15
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -80,6 +94,20 @@ dependencies:
|
|
80
94
|
- - ">="
|
81
95
|
- !ruby/object:Gem::Version
|
82
96
|
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: colorize
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
83
111
|
- !ruby/object:Gem::Dependency
|
84
112
|
name: yard
|
85
113
|
requirement: !ruby/object:Gem::Requirement
|
@@ -123,25 +151,19 @@ dependencies:
|
|
123
151
|
- !ruby/object:Gem::Version
|
124
152
|
version: '0'
|
125
153
|
- !ruby/object:Gem::Dependency
|
126
|
-
name:
|
154
|
+
name: pry
|
127
155
|
requirement: !ruby/object:Gem::Requirement
|
128
156
|
requirements:
|
129
|
-
- - "<"
|
130
|
-
- !ruby/object:Gem::Version
|
131
|
-
version: '6'
|
132
157
|
- - ">="
|
133
158
|
- !ruby/object:Gem::Version
|
134
|
-
version: '
|
135
|
-
type: :
|
159
|
+
version: '0'
|
160
|
+
type: :development
|
136
161
|
prerelease: false
|
137
162
|
version_requirements: !ruby/object:Gem::Requirement
|
138
163
|
requirements:
|
139
|
-
- - "<"
|
140
|
-
- !ruby/object:Gem::Version
|
141
|
-
version: '6'
|
142
164
|
- - ">="
|
143
165
|
- !ruby/object:Gem::Version
|
144
|
-
version: '
|
166
|
+
version: '0'
|
145
167
|
description:
|
146
168
|
email:
|
147
169
|
executables: []
|
@@ -163,6 +185,7 @@ files:
|
|
163
185
|
- doc/Schemacop.html
|
164
186
|
- doc/Schemacop/ArrayValidator.html
|
165
187
|
- doc/Schemacop/BooleanValidator.html
|
188
|
+
- doc/Schemacop/Caster.html
|
166
189
|
- doc/Schemacop/Collector.html
|
167
190
|
- doc/Schemacop/Exceptions.html
|
168
191
|
- doc/Schemacop/Exceptions/InvalidSchemaError.html
|
@@ -201,6 +224,7 @@ files:
|
|
201
224
|
- doc/method_list.html
|
202
225
|
- doc/top-level-namespace.html
|
203
226
|
- lib/schemacop.rb
|
227
|
+
- lib/schemacop/caster.rb
|
204
228
|
- lib/schemacop/collector.rb
|
205
229
|
- lib/schemacop/exceptions.rb
|
206
230
|
- lib/schemacop/field_node.rb
|
@@ -223,10 +247,13 @@ files:
|
|
223
247
|
- lib/schemacop/validator/string_validator.rb
|
224
248
|
- lib/schemacop/validator/symbol_validator.rb
|
225
249
|
- schemacop.gemspec
|
250
|
+
- test/casting_test.rb
|
226
251
|
- test/collector_test.rb
|
227
252
|
- test/custom_check_test.rb
|
228
253
|
- test/custom_if_test.rb
|
254
|
+
- test/defaults_test.rb
|
229
255
|
- test/nil_dis_allow_test.rb
|
256
|
+
- test/node_resolver_test.rb
|
230
257
|
- test/short_forms_test.rb
|
231
258
|
- test/test_helper.rb
|
232
259
|
- test/types_test.rb
|
@@ -259,17 +286,19 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
259
286
|
- !ruby/object:Gem::Version
|
260
287
|
version: '0'
|
261
288
|
requirements: []
|
262
|
-
|
263
|
-
rubygems_version: 2.6.11
|
289
|
+
rubygems_version: 3.0.3
|
264
290
|
signing_key:
|
265
291
|
specification_version: 4
|
266
292
|
summary: Schemacop validates ruby structures consisting of nested hashes and arrays
|
267
293
|
against simple schema definitions.
|
268
294
|
test_files:
|
295
|
+
- test/casting_test.rb
|
269
296
|
- test/collector_test.rb
|
270
297
|
- test/custom_check_test.rb
|
271
298
|
- test/custom_if_test.rb
|
299
|
+
- test/defaults_test.rb
|
272
300
|
- test/nil_dis_allow_test.rb
|
301
|
+
- test/node_resolver_test.rb
|
273
302
|
- test/short_forms_test.rb
|
274
303
|
- test/test_helper.rb
|
275
304
|
- test/types_test.rb
|