schemacop 2.3.0 → 2.4.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (74) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +41 -0
  3. data/LICENSE +1 -1
  4. data/README.md +204 -14
  5. data/RUBY_VERSION +1 -1
  6. data/Rakefile +6 -5
  7. data/VERSION +1 -1
  8. data/doc/Schemacop.html +32 -5
  9. data/doc/Schemacop/ArrayValidator.html +4 -4
  10. data/doc/Schemacop/BooleanValidator.html +4 -4
  11. data/doc/Schemacop/Caster.html +379 -0
  12. data/doc/Schemacop/Collector.html +180 -104
  13. data/doc/Schemacop/Exceptions.html +3 -3
  14. data/doc/Schemacop/Exceptions/InvalidSchemaError.html +3 -3
  15. data/doc/Schemacop/Exceptions/ValidationError.html +3 -3
  16. data/doc/Schemacop/FieldNode.html +19 -7
  17. data/doc/Schemacop/FloatValidator.html +4 -4
  18. data/doc/Schemacop/HashValidator.html +4 -4
  19. data/doc/Schemacop/IntegerValidator.html +4 -4
  20. data/doc/Schemacop/NilValidator.html +4 -4
  21. data/doc/Schemacop/Node.html +97 -85
  22. data/doc/Schemacop/NodeResolver.html +28 -12
  23. data/doc/Schemacop/NodeSupportingField.html +4 -4
  24. data/doc/Schemacop/NodeSupportingType.html +5 -7
  25. data/doc/Schemacop/NodeWithBlock.html +4 -4
  26. data/doc/Schemacop/NumberValidator.html +4 -4
  27. data/doc/Schemacop/ObjectValidator.html +3 -3
  28. data/doc/Schemacop/RootNode.html +4 -4
  29. data/doc/Schemacop/Schema.html +5 -5
  30. data/doc/Schemacop/StringValidator.html +3 -3
  31. data/doc/Schemacop/SymbolValidator.html +4 -4
  32. data/doc/ScopedEnv.html +3 -3
  33. data/doc/_index.html +11 -4
  34. data/doc/class_list.html +1 -1
  35. data/doc/css/style.css +10 -6
  36. data/doc/file.README.html +198 -16
  37. data/doc/frames.html +1 -1
  38. data/doc/index.html +198 -16
  39. data/doc/js/app.js +55 -0
  40. data/doc/method_list.html +81 -49
  41. data/doc/top-level-namespace.html +3 -3
  42. data/lib/schemacop.rb +14 -0
  43. data/lib/schemacop/caster.rb +38 -0
  44. data/lib/schemacop/collector.rb +34 -6
  45. data/lib/schemacop/field_node.rb +24 -3
  46. data/lib/schemacop/node.rb +16 -4
  47. data/lib/schemacop/node_resolver.rb +10 -2
  48. data/lib/schemacop/node_supporting_type.rb +19 -1
  49. data/lib/schemacop/schema.rb +2 -2
  50. data/lib/schemacop/validator/array_validator.rb +1 -1
  51. data/lib/schemacop/validator/float_validator.rb +1 -1
  52. data/lib/schemacop/validator/integer_validator.rb +1 -1
  53. data/lib/schemacop/validator/object_validator.rb +1 -1
  54. data/schemacop.gemspec +15 -9
  55. data/test/casting_test.rb +90 -0
  56. data/test/custom_check_test.rb +20 -13
  57. data/test/custom_if_test.rb +12 -12
  58. data/test/defaults_test.rb +71 -0
  59. data/test/nil_dis_allow_test.rb +6 -6
  60. data/test/node_resolver_test.rb +26 -0
  61. data/test/short_forms_test.rb +84 -66
  62. data/test/test_helper.rb +7 -0
  63. data/test/types_test.rb +5 -5
  64. data/test/validator_array_test.rb +16 -16
  65. data/test/validator_boolean_test.rb +2 -2
  66. data/test/validator_float_test.rb +15 -15
  67. data/test/validator_hash_test.rb +5 -5
  68. data/test/validator_integer_test.rb +9 -9
  69. data/test/validator_nil_test.rb +1 -1
  70. data/test/validator_number_test.rb +19 -19
  71. data/test/validator_object_test.rb +52 -18
  72. data/test/validator_string_test.rb +12 -12
  73. data/test/validator_symbol_test.rb +2 -2
  74. metadata +43 -14
@@ -6,10 +6,10 @@ module Schemacop
6
6
  s = Schema.new do
7
7
  type :string
8
8
  end
9
- assert_nil s.validate! ''
10
- assert_nil s.validate! 'abc'
11
- assert_nil s.validate! 123.to_s
12
- assert_nil s.validate! inspect
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
- assert_nil s.validate!('abc')
21
- assert_nil s.validate!('abcd')
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
- assert_nil s.validate!('')
32
- assert_nil s.validate!('abcd')
33
- assert_nil s.validate!('abcde')
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
- assert_nil s.validate!('abc')
43
- assert_nil s.validate!('abcd')
44
- assert_nil s.validate!('abcde')
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
- assert_nil s.validate!(:good)
11
- assert_nil s.validate!('-+/'.to_sym)
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.3.0
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: 2017-05-18 00:00:00.000000000 Z
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: activesupport
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: '4.0'
135
- type: :runtime
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: '4.0'
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
- rubyforge_project:
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