data-validator 1.0.2 → 1.0.3
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 +7 -0
- data/lib/data/validator/version.rb +1 -1
- data/lib/data/validator.rb +2 -2
- data/test/01_orclass.rb +27 -0
- metadata +11 -28
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 718e0618e6cbbb3359ea3f7b82f243ad054a29d2
|
4
|
+
data.tar.gz: 1743acd5bdf7b1aaaabc5c9f05feeb1d810e58c3
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 633e4050999635205cb24518230221a51b95d7182a686ace09adf9c3af96090ced99f8b78d464ae17e1856212744e6617e43a52824a06f9505a03acc319b1116
|
7
|
+
data.tar.gz: 8ddac6a8aabc0625167649e6ce1a90bc591fc16c6011e0bd201ada27d9889e607b19d10642c2b566f3c0be28e2c55599d57ea853308da7a6f596bf24575a5ee2
|
data/lib/data/validator.rb
CHANGED
@@ -72,7 +72,7 @@ class Data::Validator
|
|
72
72
|
# @option rule [String] isa Class to match.
|
73
73
|
# @option rule [<String>] :xor ??? (please ask gfx).
|
74
74
|
# @option rule [Object] :default Default value.
|
75
|
-
# @option rule [true,false] :
|
75
|
+
# @option rule [true,false] :optional Omitable or not.
|
76
76
|
# @option rule [true,false] :allow_extra Can have others or not.
|
77
77
|
# @option rule [Hash] :rule Recursion rule.
|
78
78
|
def initialize(rule = {})
|
@@ -106,7 +106,7 @@ class Data::Validator
|
|
106
106
|
# @param [Object] actual Thing to validate.
|
107
107
|
# @return [Object] The argument, validated and filled defaults.
|
108
108
|
def validate actual = @isa.new
|
109
|
-
case actual when
|
109
|
+
case actual when *@isa then
|
110
110
|
if @rule.has_key? :rule then
|
111
111
|
case
|
112
112
|
when @isa == Hash then return validate_hash actual
|
data/test/01_orclass.rb
ADDED
@@ -0,0 +1,27 @@
|
|
1
|
+
require 'test-unit'
|
2
|
+
require 'data/validator'
|
3
|
+
|
4
|
+
class Test01OrClass < Test::Unit::TestCase
|
5
|
+
|
6
|
+
setup do
|
7
|
+
@rule = Data::Validator.new(
|
8
|
+
'foo' => { isa: [TrueClass, FalseClass] },
|
9
|
+
)
|
10
|
+
end
|
11
|
+
|
12
|
+
test 'valid data' do
|
13
|
+
input = {
|
14
|
+
'foo' => false
|
15
|
+
}
|
16
|
+
params = @rule.validate(input)
|
17
|
+
|
18
|
+
assert { params == input }
|
19
|
+
end
|
20
|
+
|
21
|
+
test 'invalid data' do
|
22
|
+
input = {
|
23
|
+
'foo' => 'false'
|
24
|
+
}
|
25
|
+
assert_raise_message(/foo/) { @rule.validate(input) }
|
26
|
+
end
|
27
|
+
end
|
metadata
CHANGED
@@ -1,20 +1,18 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: data-validator
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
5
|
-
prerelease:
|
4
|
+
version: 1.0.3
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Urabe, Shyouhei
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2016-02-25 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: bundler
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
17
|
- - ~>
|
20
18
|
- !ruby/object:Gem::Version
|
@@ -22,7 +20,6 @@ dependencies:
|
|
22
20
|
type: :development
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
24
|
- - ~>
|
28
25
|
- !ruby/object:Gem::Version
|
@@ -30,7 +27,6 @@ dependencies:
|
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: rake
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
31
|
- - ~>
|
36
32
|
- !ruby/object:Gem::Version
|
@@ -38,7 +34,6 @@ dependencies:
|
|
38
34
|
type: :development
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
38
|
- - ~>
|
44
39
|
- !ruby/object:Gem::Version
|
@@ -46,7 +41,6 @@ dependencies:
|
|
46
41
|
- !ruby/object:Gem::Dependency
|
47
42
|
name: rdoc
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
44
|
requirements:
|
51
45
|
- - ~>
|
52
46
|
- !ruby/object:Gem::Version
|
@@ -54,7 +48,6 @@ dependencies:
|
|
54
48
|
type: :development
|
55
49
|
prerelease: false
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
51
|
requirements:
|
59
52
|
- - ~>
|
60
53
|
- !ruby/object:Gem::Version
|
@@ -62,7 +55,6 @@ dependencies:
|
|
62
55
|
- !ruby/object:Gem::Dependency
|
63
56
|
name: yard
|
64
57
|
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
58
|
requirements:
|
67
59
|
- - ~>
|
68
60
|
- !ruby/object:Gem::Version
|
@@ -70,7 +62,6 @@ dependencies:
|
|
70
62
|
type: :development
|
71
63
|
prerelease: false
|
72
64
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
65
|
requirements:
|
75
66
|
- - ~>
|
76
67
|
- !ruby/object:Gem::Version
|
@@ -78,7 +69,6 @@ dependencies:
|
|
78
69
|
- !ruby/object:Gem::Dependency
|
79
70
|
name: test-unit
|
80
71
|
requirement: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
72
|
requirements:
|
83
73
|
- - ~>
|
84
74
|
- !ruby/object:Gem::Version
|
@@ -86,7 +76,6 @@ dependencies:
|
|
86
76
|
type: :development
|
87
77
|
prerelease: false
|
88
78
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
79
|
requirements:
|
91
80
|
- - ~>
|
92
81
|
- !ruby/object:Gem::Version
|
@@ -94,23 +83,20 @@ dependencies:
|
|
94
83
|
- !ruby/object:Gem::Dependency
|
95
84
|
name: simplecov
|
96
85
|
requirement: !ruby/object:Gem::Requirement
|
97
|
-
none: false
|
98
86
|
requirements:
|
99
|
-
- -
|
87
|
+
- - '>='
|
100
88
|
- !ruby/object:Gem::Version
|
101
89
|
version: '0'
|
102
90
|
type: :development
|
103
91
|
prerelease: false
|
104
92
|
version_requirements: !ruby/object:Gem::Requirement
|
105
|
-
none: false
|
106
93
|
requirements:
|
107
|
-
- -
|
94
|
+
- - '>='
|
108
95
|
- !ruby/object:Gem::Version
|
109
96
|
version: '0'
|
110
97
|
- !ruby/object:Gem::Dependency
|
111
98
|
name: pry
|
112
99
|
requirement: !ruby/object:Gem::Requirement
|
113
|
-
none: false
|
114
100
|
requirements:
|
115
101
|
- - ~>
|
116
102
|
- !ruby/object:Gem::Version
|
@@ -118,7 +104,6 @@ dependencies:
|
|
118
104
|
type: :development
|
119
105
|
prerelease: false
|
120
106
|
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
none: false
|
122
107
|
requirements:
|
123
108
|
- - ~>
|
124
109
|
- !ruby/object:Gem::Version
|
@@ -140,6 +125,7 @@ files:
|
|
140
125
|
- lib/data/validator/error.rb
|
141
126
|
- lib/data/validator/recursive.rb
|
142
127
|
- lib/data/validator/version.rb
|
128
|
+
- test/01_orclass.rb
|
143
129
|
- test/gfx/000_load.rb
|
144
130
|
- test/gfx/001_basic.rb
|
145
131
|
- test/gfx/002_isa.rb
|
@@ -155,32 +141,29 @@ files:
|
|
155
141
|
homepage: https://metacpan.org/pod/Data::Validator
|
156
142
|
licenses:
|
157
143
|
- MIT
|
144
|
+
metadata: {}
|
158
145
|
post_install_message:
|
159
146
|
rdoc_options: []
|
160
147
|
require_paths:
|
161
148
|
- lib
|
162
149
|
required_ruby_version: !ruby/object:Gem::Requirement
|
163
|
-
none: false
|
164
150
|
requirements:
|
165
|
-
- -
|
151
|
+
- - '>='
|
166
152
|
- !ruby/object:Gem::Version
|
167
153
|
version: 1.9.3
|
168
154
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
169
|
-
none: false
|
170
155
|
requirements:
|
171
|
-
- -
|
156
|
+
- - '>='
|
172
157
|
- !ruby/object:Gem::Version
|
173
158
|
version: '0'
|
174
|
-
segments:
|
175
|
-
- 0
|
176
|
-
hash: -1503191455566766028
|
177
159
|
requirements: []
|
178
160
|
rubyforge_project:
|
179
|
-
rubygems_version:
|
161
|
+
rubygems_version: 2.0.14
|
180
162
|
signing_key:
|
181
|
-
specification_version:
|
163
|
+
specification_version: 4
|
182
164
|
summary: p5-Data-Validator / p5-Data-Validator-Recursive port
|
183
165
|
test_files:
|
166
|
+
- test/01_orclass.rb
|
184
167
|
- test/gfx/000_load.rb
|
185
168
|
- test/gfx/001_basic.rb
|
186
169
|
- test/gfx/002_isa.rb
|