schemacop 2.0.0 → 2.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (44) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +1 -17
  3. data/.travis.yml +0 -2
  4. data/CHANGELOG.md +19 -0
  5. data/README.md +39 -6
  6. data/Rakefile +5 -1
  7. data/VERSION +1 -1
  8. data/doc/Schemacop.html +3 -3
  9. data/doc/Schemacop/ArrayValidator.html +1 -1
  10. data/doc/Schemacop/BooleanValidator.html +1 -1
  11. data/doc/Schemacop/Collector.html +1 -1
  12. data/doc/Schemacop/Exceptions.html +1 -1
  13. data/doc/Schemacop/Exceptions/InvalidSchemaError.html +1 -1
  14. data/doc/Schemacop/Exceptions/ValidationError.html +1 -1
  15. data/doc/Schemacop/FieldNode.html +1 -1
  16. data/doc/Schemacop/FloatValidator.html +1 -1
  17. data/doc/Schemacop/HashValidator.html +30 -4
  18. data/doc/Schemacop/IntegerValidator.html +1 -1
  19. data/doc/Schemacop/NilValidator.html +1 -1
  20. data/doc/Schemacop/Node.html +2 -2
  21. data/doc/Schemacop/NodeResolver.html +1 -1
  22. data/doc/Schemacop/NodeSupportingField.html +1 -1
  23. data/doc/Schemacop/NodeSupportingType.html +1 -1
  24. data/doc/Schemacop/NodeWithBlock.html +1 -1
  25. data/doc/Schemacop/NumberValidator.html +1 -1
  26. data/doc/Schemacop/ObjectValidator.html +1 -1
  27. data/doc/Schemacop/RootNode.html +1 -1
  28. data/doc/Schemacop/Schema.html +1 -1
  29. data/doc/Schemacop/StringValidator.html +1 -1
  30. data/doc/Schemacop/SymbolValidator.html +145 -0
  31. data/doc/ScopedEnv.html +1 -1
  32. data/doc/_index.html +8 -1
  33. data/doc/class_list.html +1 -1
  34. data/doc/file.README.html +37 -7
  35. data/doc/index.html +37 -7
  36. data/doc/top-level-namespace.html +1 -1
  37. data/lib/schemacop.rb +2 -0
  38. data/lib/schemacop/node_supporting_field.rb +2 -4
  39. data/lib/schemacop/validator/hash_validator.rb +15 -2
  40. data/lib/schemacop/validator/symbol_validator.rb +5 -0
  41. data/schemacop.gemspec +8 -8
  42. data/test/types_test.rb +1 -0
  43. data/test/validator_symbol_test.rb +16 -0
  44. metadata +26 -16
@@ -0,0 +1,5 @@
1
+ module Schemacop
2
+ class SymbolValidator < Node
3
+ register symbols: :symbol, klasses: Symbol
4
+ end
5
+ end
@@ -1,20 +1,20 @@
1
1
  # -*- encoding: utf-8 -*-
2
- # stub: schemacop 2.0.0 ruby lib
2
+ # stub: schemacop 2.2.0 ruby lib
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "schemacop".freeze
6
- s.version = "2.0.0"
6
+ s.version = "2.2.0"
7
7
 
8
8
  s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
9
9
  s.require_paths = ["lib".freeze]
10
10
  s.authors = ["Sitrox".freeze]
11
- s.date = "2017-05-15"
12
- s.files = [".gitignore".freeze, ".releaser_config".freeze, ".rubocop.yml".freeze, ".travis.yml".freeze, ".yardopts".freeze, "CHANGELOG.md".freeze, "Gemfile".freeze, "LICENSE".freeze, "README.md".freeze, "RUBY_VERSION".freeze, "Rakefile".freeze, "VERSION".freeze, "doc/Schemacop.html".freeze, "doc/Schemacop/ArrayValidator.html".freeze, "doc/Schemacop/BooleanValidator.html".freeze, "doc/Schemacop/Collector.html".freeze, "doc/Schemacop/Exceptions.html".freeze, "doc/Schemacop/Exceptions/InvalidSchemaError.html".freeze, "doc/Schemacop/Exceptions/ValidationError.html".freeze, "doc/Schemacop/FieldNode.html".freeze, "doc/Schemacop/FloatValidator.html".freeze, "doc/Schemacop/HashValidator.html".freeze, "doc/Schemacop/IntegerValidator.html".freeze, "doc/Schemacop/NilValidator.html".freeze, "doc/Schemacop/Node.html".freeze, "doc/Schemacop/NodeResolver.html".freeze, "doc/Schemacop/NodeSupportingField.html".freeze, "doc/Schemacop/NodeSupportingType.html".freeze, "doc/Schemacop/NodeWithBlock.html".freeze, "doc/Schemacop/NumberValidator.html".freeze, "doc/Schemacop/ObjectValidator.html".freeze, "doc/Schemacop/RootNode.html".freeze, "doc/Schemacop/Schema.html".freeze, "doc/Schemacop/StringValidator.html".freeze, "doc/ScopedEnv.html".freeze, "doc/_index.html".freeze, "doc/class_list.html".freeze, "doc/css/common.css".freeze, "doc/css/full_list.css".freeze, "doc/css/style.css".freeze, "doc/file.README.html".freeze, "doc/file_list.html".freeze, "doc/frames.html".freeze, "doc/index.html".freeze, "doc/inheritance.graphml".freeze, "doc/inheritance.pdf".freeze, "doc/js/app.js".freeze, "doc/js/full_list.js".freeze, "doc/js/jquery.js".freeze, "doc/method_list.html".freeze, "doc/top-level-namespace.html".freeze, "lib/schemacop.rb".freeze, "lib/schemacop/collector.rb".freeze, "lib/schemacop/exceptions.rb".freeze, "lib/schemacop/field_node.rb".freeze, "lib/schemacop/node.rb".freeze, "lib/schemacop/node_resolver.rb".freeze, "lib/schemacop/node_supporting_field.rb".freeze, "lib/schemacop/node_supporting_type.rb".freeze, "lib/schemacop/node_with_block.rb".freeze, "lib/schemacop/root_node.rb".freeze, "lib/schemacop/schema.rb".freeze, "lib/schemacop/scoped_env.rb".freeze, "lib/schemacop/validator/array_validator.rb".freeze, "lib/schemacop/validator/boolean_validator.rb".freeze, "lib/schemacop/validator/float_validator.rb".freeze, "lib/schemacop/validator/hash_validator.rb".freeze, "lib/schemacop/validator/integer_validator.rb".freeze, "lib/schemacop/validator/nil_validator.rb".freeze, "lib/schemacop/validator/number_validator.rb".freeze, "lib/schemacop/validator/object_validator.rb".freeze, "lib/schemacop/validator/string_validator.rb".freeze, "schemacop.gemspec".freeze, "test/custom_check_test.rb".freeze, "test/custom_if_test.rb".freeze, "test/nil_dis_allow_test.rb".freeze, "test/short_forms_test.rb".freeze, "test/test_helper.rb".freeze, "test/types_test.rb".freeze, "test/validator_array_test.rb".freeze, "test/validator_boolean_test.rb".freeze, "test/validator_float_test.rb".freeze, "test/validator_hash_test.rb".freeze, "test/validator_integer_test.rb".freeze, "test/validator_nil_test.rb".freeze, "test/validator_number_test.rb".freeze, "test/validator_object_test.rb".freeze, "test/validator_string_test.rb".freeze]
11
+ s.date = "2017-05-17"
12
+ s.files = [".gitignore".freeze, ".releaser_config".freeze, ".rubocop.yml".freeze, ".travis.yml".freeze, ".yardopts".freeze, "CHANGELOG.md".freeze, "Gemfile".freeze, "LICENSE".freeze, "README.md".freeze, "RUBY_VERSION".freeze, "Rakefile".freeze, "VERSION".freeze, "doc/Schemacop.html".freeze, "doc/Schemacop/ArrayValidator.html".freeze, "doc/Schemacop/BooleanValidator.html".freeze, "doc/Schemacop/Collector.html".freeze, "doc/Schemacop/Exceptions.html".freeze, "doc/Schemacop/Exceptions/InvalidSchemaError.html".freeze, "doc/Schemacop/Exceptions/ValidationError.html".freeze, "doc/Schemacop/FieldNode.html".freeze, "doc/Schemacop/FloatValidator.html".freeze, "doc/Schemacop/HashValidator.html".freeze, "doc/Schemacop/IntegerValidator.html".freeze, "doc/Schemacop/NilValidator.html".freeze, "doc/Schemacop/Node.html".freeze, "doc/Schemacop/NodeResolver.html".freeze, "doc/Schemacop/NodeSupportingField.html".freeze, "doc/Schemacop/NodeSupportingType.html".freeze, "doc/Schemacop/NodeWithBlock.html".freeze, "doc/Schemacop/NumberValidator.html".freeze, "doc/Schemacop/ObjectValidator.html".freeze, "doc/Schemacop/RootNode.html".freeze, "doc/Schemacop/Schema.html".freeze, "doc/Schemacop/StringValidator.html".freeze, "doc/Schemacop/SymbolValidator.html".freeze, "doc/ScopedEnv.html".freeze, "doc/_index.html".freeze, "doc/class_list.html".freeze, "doc/css/common.css".freeze, "doc/css/full_list.css".freeze, "doc/css/style.css".freeze, "doc/file.README.html".freeze, "doc/file_list.html".freeze, "doc/frames.html".freeze, "doc/index.html".freeze, "doc/inheritance.graphml".freeze, "doc/inheritance.pdf".freeze, "doc/js/app.js".freeze, "doc/js/full_list.js".freeze, "doc/js/jquery.js".freeze, "doc/method_list.html".freeze, "doc/top-level-namespace.html".freeze, "lib/schemacop.rb".freeze, "lib/schemacop/collector.rb".freeze, "lib/schemacop/exceptions.rb".freeze, "lib/schemacop/field_node.rb".freeze, "lib/schemacop/node.rb".freeze, "lib/schemacop/node_resolver.rb".freeze, "lib/schemacop/node_supporting_field.rb".freeze, "lib/schemacop/node_supporting_type.rb".freeze, "lib/schemacop/node_with_block.rb".freeze, "lib/schemacop/root_node.rb".freeze, "lib/schemacop/schema.rb".freeze, "lib/schemacop/scoped_env.rb".freeze, "lib/schemacop/validator/array_validator.rb".freeze, "lib/schemacop/validator/boolean_validator.rb".freeze, "lib/schemacop/validator/float_validator.rb".freeze, "lib/schemacop/validator/hash_validator.rb".freeze, "lib/schemacop/validator/integer_validator.rb".freeze, "lib/schemacop/validator/nil_validator.rb".freeze, "lib/schemacop/validator/number_validator.rb".freeze, "lib/schemacop/validator/object_validator.rb".freeze, "lib/schemacop/validator/string_validator.rb".freeze, "lib/schemacop/validator/symbol_validator.rb".freeze, "schemacop.gemspec".freeze, "test/custom_check_test.rb".freeze, "test/custom_if_test.rb".freeze, "test/nil_dis_allow_test.rb".freeze, "test/short_forms_test.rb".freeze, "test/test_helper.rb".freeze, "test/types_test.rb".freeze, "test/validator_array_test.rb".freeze, "test/validator_boolean_test.rb".freeze, "test/validator_float_test.rb".freeze, "test/validator_hash_test.rb".freeze, "test/validator_integer_test.rb".freeze, "test/validator_nil_test.rb".freeze, "test/validator_number_test.rb".freeze, "test/validator_object_test.rb".freeze, "test/validator_string_test.rb".freeze, "test/validator_symbol_test.rb".freeze]
13
13
  s.homepage = "https://github.com/sitrox/schemacop".freeze
14
14
  s.licenses = ["MIT".freeze]
15
15
  s.rubygems_version = "2.6.6".freeze
16
16
  s.summary = "Schemacop validates ruby structures consisting of nested hashes and arrays against simple schema definitions.".freeze
17
- s.test_files = ["test/custom_check_test.rb".freeze, "test/custom_if_test.rb".freeze, "test/nil_dis_allow_test.rb".freeze, "test/short_forms_test.rb".freeze, "test/test_helper.rb".freeze, "test/types_test.rb".freeze, "test/validator_array_test.rb".freeze, "test/validator_boolean_test.rb".freeze, "test/validator_float_test.rb".freeze, "test/validator_hash_test.rb".freeze, "test/validator_integer_test.rb".freeze, "test/validator_nil_test.rb".freeze, "test/validator_number_test.rb".freeze, "test/validator_object_test.rb".freeze, "test/validator_string_test.rb".freeze]
17
+ s.test_files = ["test/custom_check_test.rb".freeze, "test/custom_if_test.rb".freeze, "test/nil_dis_allow_test.rb".freeze, "test/short_forms_test.rb".freeze, "test/test_helper.rb".freeze, "test/types_test.rb".freeze, "test/validator_array_test.rb".freeze, "test/validator_boolean_test.rb".freeze, "test/validator_float_test.rb".freeze, "test/validator_hash_test.rb".freeze, "test/validator_integer_test.rb".freeze, "test/validator_nil_test.rb".freeze, "test/validator_number_test.rb".freeze, "test/validator_object_test.rb".freeze, "test/validator_string_test.rb".freeze, "test/validator_symbol_test.rb".freeze]
18
18
 
19
19
  if s.respond_to? :specification_version then
20
20
  s.specification_version = 4
@@ -24,31 +24,31 @@ Gem::Specification.new do |s|
24
24
  s.add_development_dependency(%q<rake>.freeze, [">= 0"])
25
25
  s.add_development_dependency(%q<ci_reporter>.freeze, ["~> 2.0"])
26
26
  s.add_development_dependency(%q<ci_reporter_minitest>.freeze, [">= 0"])
27
- s.add_development_dependency(%q<activesupport>.freeze, [">= 0"])
28
27
  s.add_development_dependency(%q<haml>.freeze, [">= 0"])
29
28
  s.add_development_dependency(%q<yard>.freeze, [">= 0"])
30
29
  s.add_development_dependency(%q<rubocop>.freeze, ["= 0.35.1"])
31
30
  s.add_development_dependency(%q<redcarpet>.freeze, [">= 0"])
31
+ s.add_runtime_dependency(%q<activesupport>.freeze, ["< 6", ">= 4.0"])
32
32
  else
33
33
  s.add_dependency(%q<bundler>.freeze, ["~> 1.3"])
34
34
  s.add_dependency(%q<rake>.freeze, [">= 0"])
35
35
  s.add_dependency(%q<ci_reporter>.freeze, ["~> 2.0"])
36
36
  s.add_dependency(%q<ci_reporter_minitest>.freeze, [">= 0"])
37
- s.add_dependency(%q<activesupport>.freeze, [">= 0"])
38
37
  s.add_dependency(%q<haml>.freeze, [">= 0"])
39
38
  s.add_dependency(%q<yard>.freeze, [">= 0"])
40
39
  s.add_dependency(%q<rubocop>.freeze, ["= 0.35.1"])
41
40
  s.add_dependency(%q<redcarpet>.freeze, [">= 0"])
41
+ s.add_dependency(%q<activesupport>.freeze, ["< 6", ">= 4.0"])
42
42
  end
43
43
  else
44
44
  s.add_dependency(%q<bundler>.freeze, ["~> 1.3"])
45
45
  s.add_dependency(%q<rake>.freeze, [">= 0"])
46
46
  s.add_dependency(%q<ci_reporter>.freeze, ["~> 2.0"])
47
47
  s.add_dependency(%q<ci_reporter_minitest>.freeze, [">= 0"])
48
- s.add_dependency(%q<activesupport>.freeze, [">= 0"])
49
48
  s.add_dependency(%q<haml>.freeze, [">= 0"])
50
49
  s.add_dependency(%q<yard>.freeze, [">= 0"])
51
50
  s.add_dependency(%q<rubocop>.freeze, ["= 0.35.1"])
52
51
  s.add_dependency(%q<redcarpet>.freeze, [">= 0"])
52
+ s.add_dependency(%q<activesupport>.freeze, ["< 6", ">= 4.0"])
53
53
  end
54
54
  end
@@ -9,6 +9,7 @@ module Schemacop
9
9
  hash: {},
10
10
  integer: -5,
11
11
  number: -3.2,
12
+ symbol: :thing,
12
13
  object: self,
13
14
  string: 'miau' }.freeze
14
15
  end
@@ -0,0 +1,16 @@
1
+ require 'test_helper'
2
+
3
+ module Schemacop
4
+ class ValidatorSymbolTest < Minitest::Test
5
+ def test_basic
6
+ s = Schema.new do
7
+ type :symbol
8
+ end
9
+
10
+ assert_nil s.validate!(:good)
11
+ assert_nil s.validate!('-+/'.to_sym)
12
+ assert_verr { s.validate!('bad') }
13
+ assert_verr { s.validate!(456) }
14
+ end
15
+ end
16
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: schemacop
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0
4
+ version: 2.2.0
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-15 00:00:00.000000000 Z
11
+ date: 2017-05-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -66,20 +66,6 @@ dependencies:
66
66
  - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
- - !ruby/object:Gem::Dependency
70
- name: activesupport
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - ">="
74
- - !ruby/object:Gem::Version
75
- version: '0'
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - ">="
81
- - !ruby/object:Gem::Version
82
- version: '0'
83
69
  - !ruby/object:Gem::Dependency
84
70
  name: haml
85
71
  requirement: !ruby/object:Gem::Requirement
@@ -136,6 +122,26 @@ dependencies:
136
122
  - - ">="
137
123
  - !ruby/object:Gem::Version
138
124
  version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: activesupport
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "<"
130
+ - !ruby/object:Gem::Version
131
+ version: '6'
132
+ - - ">="
133
+ - !ruby/object:Gem::Version
134
+ version: '4.0'
135
+ type: :runtime
136
+ prerelease: false
137
+ version_requirements: !ruby/object:Gem::Requirement
138
+ requirements:
139
+ - - "<"
140
+ - !ruby/object:Gem::Version
141
+ version: '6'
142
+ - - ">="
143
+ - !ruby/object:Gem::Version
144
+ version: '4.0'
139
145
  description:
140
146
  email:
141
147
  executables: []
@@ -176,6 +182,7 @@ files:
176
182
  - doc/Schemacop/RootNode.html
177
183
  - doc/Schemacop/Schema.html
178
184
  - doc/Schemacop/StringValidator.html
185
+ - doc/Schemacop/SymbolValidator.html
179
186
  - doc/ScopedEnv.html
180
187
  - doc/_index.html
181
188
  - doc/class_list.html
@@ -214,6 +221,7 @@ files:
214
221
  - lib/schemacop/validator/number_validator.rb
215
222
  - lib/schemacop/validator/object_validator.rb
216
223
  - lib/schemacop/validator/string_validator.rb
224
+ - lib/schemacop/validator/symbol_validator.rb
217
225
  - schemacop.gemspec
218
226
  - test/custom_check_test.rb
219
227
  - test/custom_if_test.rb
@@ -230,6 +238,7 @@ files:
230
238
  - test/validator_number_test.rb
231
239
  - test/validator_object_test.rb
232
240
  - test/validator_string_test.rb
241
+ - test/validator_symbol_test.rb
233
242
  homepage: https://github.com/sitrox/schemacop
234
243
  licenses:
235
244
  - MIT
@@ -271,3 +280,4 @@ test_files:
271
280
  - test/validator_number_test.rb
272
281
  - test/validator_object_test.rb
273
282
  - test/validator_string_test.rb
283
+ - test/validator_symbol_test.rb