schemacop 3.0.0.rc2 → 3.0.0.rc3
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 +4 -4
- data/.releaser_config +0 -1
- data/CHANGELOG.md +9 -3
- data/README_V3.md +55 -53
- data/VERSION +1 -1
- data/lib/schemacop/v2.rb +0 -1
- data/lib/schemacop/v2/root_node.rb +0 -6
- data/lib/schemacop/v3/hash_node.rb +14 -12
- data/lib/schemacop/v3/node.rb +7 -3
- data/schemacop.gemspec +2 -2
- metadata +7 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b93149de6cee935353aba3381d9e1ee76b51bc4b19763d8634566d375208fcac
|
4
|
+
data.tar.gz: cb8e1a8b82104f6482d5017d90e3d5c2094d564ac9ef1001d2336bac137886cb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0df1ba4b0c314901d015ca969996ffa9df862c79df0a52129bc3b749add7ff2e60ff52a9fb8a874f82b57017fef821c1e8d5d703093e0fd3bade224e8c84d259
|
7
|
+
data.tar.gz: 1f501b7fdee6cc8347fe1acaf522f268ef5882e595f0c136c68c773b98615b37a05aeeaf1b472c3152546cdd3ae0859dd216eae9850f9f2992c2e970c7111157
|
data/.releaser_config
CHANGED
data/CHANGELOG.md
CHANGED
@@ -10,13 +10,19 @@
|
|
10
10
|
### Changes
|
11
11
|
-->
|
12
12
|
|
13
|
-
## 3.0.0.
|
13
|
+
## 3.0.0.rc3 (2020-01-28)
|
14
|
+
|
15
|
+
* Add minor improvements to the documentation
|
16
|
+
|
17
|
+
* Internal restructuring, no changes in API
|
18
|
+
|
19
|
+
## 3.0.0.rc2 (2020-01-28)
|
14
20
|
|
15
21
|
* Represent node names as strings internally
|
16
22
|
|
17
23
|
* Update documentation
|
18
24
|
|
19
|
-
## 3.0.0.rc1
|
25
|
+
## 3.0.0.rc1 (2020-01-22)
|
20
26
|
|
21
27
|
* Add support for ruby `3.0.0`
|
22
28
|
|
@@ -24,7 +30,7 @@
|
|
24
30
|
|
25
31
|
* Document all `v3` nodes
|
26
32
|
|
27
|
-
## 3.0.0.rc0
|
33
|
+
## 3.0.0.rc0 (2020-01-14)
|
28
34
|
|
29
35
|
* Add `Schemacop::Schema3`
|
30
36
|
|
data/README_V3.md
CHANGED
@@ -24,7 +24,7 @@
|
|
24
24
|
|
25
25
|
## Validation
|
26
26
|
|
27
|
-
Using
|
27
|
+
Using Schemacop, you can either choose to validate your data either using the
|
28
28
|
graceful `validate` method, or the bang variant, `validate!`.
|
29
29
|
|
30
30
|
The `validate` method on a schema with some supplied data will return a
|
@@ -68,14 +68,14 @@ schema.validate!('Foo') # => Schemacop::Exceptions::ValidationError: /:
|
|
68
68
|
|
69
69
|
Schemacop can raise the following exceptions:
|
70
70
|
|
71
|
-
* `Schemacop::Exceptions::ValidationError`: This exception is raised when the
|
72
|
-
method is used, and the data that was passed in is invalid. The
|
73
|
-
additional
|
71
|
+
* `Schemacop::Exceptions::ValidationError`: This exception is raised when the
|
72
|
+
`validate!` method is used, and the data that was passed in is invalid. The
|
73
|
+
exception message contains additional information why the validation failed.
|
74
74
|
|
75
75
|
Example:
|
76
76
|
|
77
77
|
```ruby
|
78
|
-
schema = Schemacop::Schema3.new
|
78
|
+
schema = Schemacop::Schema3.new do
|
79
79
|
int! :foo
|
80
80
|
end
|
81
81
|
|
@@ -83,14 +83,14 @@ Schemacop can raise the following exceptions:
|
|
83
83
|
# => Schemacop::Exceptions::ValidationError: /foo: Invalid type, expected "integer".
|
84
84
|
```
|
85
85
|
|
86
|
-
* `Schemacop::Exceptions::InvalidSchemaError`: This exception is raised when the
|
87
|
-
itself is not valid. The exception message contains additional
|
88
|
-
validation failed.
|
86
|
+
* `Schemacop::Exceptions::InvalidSchemaError`: This exception is raised when the
|
87
|
+
schema itself is not valid. The exception message contains additional
|
88
|
+
information why the validation failed.
|
89
89
|
|
90
90
|
Example:
|
91
91
|
|
92
|
-
|
93
|
-
Schemacop::Schema3.new
|
92
|
+
```ruby
|
93
|
+
Schemacop::Schema3.new do
|
94
94
|
int!
|
95
95
|
end
|
96
96
|
|
@@ -109,7 +109,6 @@ The nodes in Schemacop v3 also support generic keywords, similar to JSON schema:
|
|
109
109
|
* `default`: You may provide a default value for items that will be set if the
|
110
110
|
value is not given
|
111
111
|
|
112
|
-
|
113
112
|
The three keywords `title`, `description` and `examples` aren't used for validation,
|
114
113
|
but can be used to document the schema. They will be included in the JSON output
|
115
114
|
when you use the `as_json` method:
|
@@ -134,7 +133,7 @@ schema.validate!('bar') # => "bar"
|
|
134
133
|
schema.validate!('baz') # => Schemacop::Exceptions::ValidationError: /: Value not included in enum ["foo", "bar"].
|
135
134
|
```
|
136
135
|
|
137
|
-
Please note
|
136
|
+
Please note that you can also specify values in the enum that are not valid for
|
138
137
|
the schema. This means that the validation will still fail:
|
139
138
|
|
140
139
|
```ruby
|
@@ -196,9 +195,9 @@ transformed into various types.
|
|
196
195
|
#### Options
|
197
196
|
|
198
197
|
* `min_length`
|
199
|
-
Defines the minimum required string length
|
198
|
+
Defines the (inclusive) minimum required string length
|
200
199
|
* `max_length`
|
201
|
-
Defines the maximum required string length
|
200
|
+
Defines the (inclusive) maximum required string length
|
202
201
|
* `pattern`
|
203
202
|
Defines a (ruby) regex pattern the value will be matched against. Must be a
|
204
203
|
string and should generally start with `^` and end with `$` so as to evaluate
|
@@ -230,7 +229,7 @@ transformed into various types.
|
|
230
229
|
|
231
230
|
* `boolean`
|
232
231
|
The string must be either `true` or `false`. This value will be casted to
|
233
|
-
|
232
|
+
Ruby's `TrueClass` or `FalseClass`.
|
234
233
|
|
235
234
|
* `binary`
|
236
235
|
The string is expected to contain binary contents. No casting or additional
|
@@ -403,11 +402,11 @@ It consists of one or multiple values, which can be validated using arbitrary no
|
|
403
402
|
|
404
403
|
#### Contains
|
405
404
|
|
406
|
-
The `array` node features the contains node, which you can use with the DSL
|
407
|
-
method `cont`. With that DSL method, you can specify a schema which at least
|
408
|
-
|
405
|
+
The `array` node features the *contains* node, which you can use with the DSL
|
406
|
+
method `cont`. With that DSL method, you can specify a schema which at least one
|
407
|
+
item in the array needs to validate against.
|
409
408
|
|
410
|
-
One
|
409
|
+
One use case for example could be that you want an array of integers, from which
|
411
410
|
at least one must be 5 or larger:
|
412
411
|
|
413
412
|
```ruby
|
@@ -447,9 +446,10 @@ how you specify your array contents.
|
|
447
446
|
|
448
447
|
List validation validates a sequence of arbitrary length where each item matches
|
449
448
|
the same schema. Unless you specify a `min_items` count on the array node, an
|
450
|
-
empty array will also
|
451
|
-
|
452
|
-
|
449
|
+
empty array will also suffice. To specify a list validation, use the `list` DSL
|
450
|
+
method, and specify the type you want to validate against. Here, you need to
|
451
|
+
specify the type of the element using the long `type` name (e.g. `integer` and
|
452
|
+
not `int`).
|
453
453
|
|
454
454
|
For example, you can specify that you want an array with only integers between 1 and 5:
|
455
455
|
|
@@ -542,8 +542,8 @@ schema.validate!([1, 'foo', 'bar']) # => Schemacop::Exceptions::ValidationError:
|
|
542
542
|
schema.validate!([1, 'foo', 2, 3]) # => [1, "foo", 2, 3]
|
543
543
|
```
|
544
544
|
|
545
|
-
Please note
|
546
|
-
an exception:
|
545
|
+
Please note that you cannot use multiple `add` in the same array schema, this
|
546
|
+
will result in an exception:
|
547
547
|
|
548
548
|
```ruby
|
549
549
|
schema = Schemacop::Schema3.new :array do
|
@@ -555,9 +555,10 @@ end
|
|
555
555
|
# => Schemacop::Exceptions::InvalidSchemaError: You can only use "add" once to specify additional items.
|
556
556
|
```
|
557
557
|
|
558
|
-
If you want to specify that your schema accept multiple additional types, use
|
559
|
-
type (see below for more infos). The correct way to specify that
|
560
|
-
items, which may be an integer or a string is as
|
558
|
+
If you want to specify that your schema accept multiple additional types, use
|
559
|
+
the `one_of` type (see below for more infos). The correct way to specify that
|
560
|
+
you want to allow additional items, which may be an integer or a string is as
|
561
|
+
follows:
|
561
562
|
|
562
563
|
```ruby
|
563
564
|
schema = Schemacop::Schema3.new :array do
|
@@ -592,7 +593,7 @@ It consists of key-value-pairs that can be validated using arbitrary nodes.
|
|
592
593
|
* `property_names`
|
593
594
|
This option allows to specify a regexp pattern (as string) which validates the
|
594
595
|
keys of any properties that are not specified in the hash. This option only
|
595
|
-
makes sense if `additional_properties` is enabled. See below for more
|
596
|
+
makes sense if `additional_properties` is enabled. See below for more information.
|
596
597
|
|
597
598
|
* `min_properties`
|
598
599
|
Specifies the (inclusive) minimum number of properties a hash must contain.
|
@@ -645,8 +646,8 @@ schema.validate!('foo' => 42) # => {"foo"=>42}
|
|
645
646
|
|
646
647
|
The result in both cases will be a
|
647
648
|
[HashWithIndifferentAccess](https://api.rubyonrails.org/classes/ActiveSupport/HashWithIndifferentAccess.html),
|
648
|
-
which means that you can access the data in the hash with the symbol as well
|
649
|
-
|
649
|
+
which means that you can access the data in the hash with the symbol as well as
|
650
|
+
the string representation:
|
650
651
|
|
651
652
|
```ruby
|
652
653
|
schema = Schemacop::Schema3.new :hash do
|
@@ -660,9 +661,9 @@ result[:foo] # => 42
|
|
660
661
|
result['foo'] # 42
|
661
662
|
```
|
662
663
|
|
663
|
-
Please note
|
664
|
-
once with the key being a symbol and once being a string, Schemacop
|
665
|
-
error:
|
664
|
+
Please note that if you specify the value twice in the data you want to
|
665
|
+
validate, once with the key being a symbol and once being a string, Schemacop
|
666
|
+
will raise an error:
|
666
667
|
|
667
668
|
```ruby
|
668
669
|
schema = Schemacop::Schema3.new :hash do
|
@@ -798,10 +799,11 @@ schema.validate!({
|
|
798
799
|
Type: `:object`\
|
799
800
|
DSL: `obj`
|
800
801
|
|
801
|
-
The object type represents a
|
802
|
-
on nodes of this type will just return `{}` (an empty JSON object), as
|
803
|
-
a useful way to represent a
|
804
|
-
If you want to represent
|
802
|
+
The object type represents a Ruby `Object`. Please note that the `as_json`
|
803
|
+
method on nodes of this type will just return `{}` (an empty JSON object), as
|
804
|
+
there isn't a useful way to represent a Ruby object without conflicting with the
|
805
|
+
`Hash` type. If you want to represent a JSON object, you should use the `Hash`
|
806
|
+
node.
|
805
807
|
|
806
808
|
In the most basic form, this node will accept anything:
|
807
809
|
|
@@ -882,7 +884,7 @@ schema.validate!('foooo') # => Schemacop::Exceptions::ValidationError: /: Does n
|
|
882
884
|
Type: `:any_of`\
|
883
885
|
DSL: `any_of`
|
884
886
|
|
885
|
-
Similar to the
|
887
|
+
Similar to the `all_of` node, you can specify multiple schemas, for which the
|
886
888
|
given value needs to validate against at least one of the schemas.
|
887
889
|
|
888
890
|
For example, your value needs to be either a string which is at least 2
|
@@ -899,7 +901,7 @@ schema.validate!('foo') # => "foo"
|
|
899
901
|
schema.validate!(42) # => 42
|
900
902
|
```
|
901
903
|
|
902
|
-
Please note that you need to specify at least one item in the
|
904
|
+
Please note that you need to specify at least one item in the `any_of` node:
|
903
905
|
|
904
906
|
```ruby
|
905
907
|
Schemacop::Schema3.new :any_of # => Schemacop::Exceptions::InvalidSchemaError: Node "any_of" makes only sense with at least 1 item.
|
@@ -910,9 +912,9 @@ Schemacop::Schema3.new :any_of # => Schemacop::Exceptions::InvalidSchemaError: N
|
|
910
912
|
Type: `:one_of`\
|
911
913
|
DSL: `one_of`
|
912
914
|
|
913
|
-
Similar to the
|
914
|
-
given value needs to validate against
|
915
|
-
|
915
|
+
Similar to the `all_of` node, you can specify multiple schemas, for which the
|
916
|
+
given value needs to validate against exaclty one of the schemas. If the given
|
917
|
+
value validates against multiple schemas, the value is invalid.
|
916
918
|
|
917
919
|
For example, if you want an integer which is either a multiple of 2 or 3,
|
918
920
|
but not both (i.e. no multiple of 6), you could do it as follows:
|
@@ -951,7 +953,7 @@ schema.validate!(6) # => Schemacop::Exceptions::ValidationError: /: Matches 2 de
|
|
951
953
|
Type: `:is_not`\
|
952
954
|
DSL: `is_not`
|
953
955
|
|
954
|
-
With the
|
956
|
+
With the `is_not` node, you can specify a schema which the given value must not
|
955
957
|
validate against, i.e. every value which matches the schema will make this node
|
956
958
|
invalid.
|
957
959
|
|
@@ -969,7 +971,7 @@ schema.validate!(3) # => Schemacop::Exceptions::ValidationError: /: Must not
|
|
969
971
|
schema.validate!('foo') # => "foo"
|
970
972
|
```
|
971
973
|
|
972
|
-
Note that a
|
974
|
+
Note that a `is_not` node needs exactly one item:
|
973
975
|
|
974
976
|
```ruby
|
975
977
|
schema = Schemacop::Schema3.new :is_not # => Schemacop::Exceptions::InvalidSchemaError: Node "is_not" only allows exactly one item.
|
@@ -984,7 +986,7 @@ Type: `reference`
|
|
984
986
|
**Definition**
|
985
987
|
DSL: `scm`
|
986
988
|
|
987
|
-
Finally, with the Reference node, you can define schemas and then later reference
|
989
|
+
Finally, with the *Reference* node, you can define schemas and then later reference
|
988
990
|
them for usage, e.g. when you have a rather long schema which you need at multiple
|
989
991
|
places.
|
990
992
|
|
@@ -1052,7 +1054,7 @@ schema.validate!([id: 42, first_name: 'Joe']) # => Schemacop::Except
|
|
1052
1054
|
|
1053
1055
|
## Context
|
1054
1056
|
|
1055
|
-
Schemacop
|
1057
|
+
Schemacop also features the concept of a `Context`. You can define schemas in a
|
1056
1058
|
context, and then reference them in other schemas in that context. This is e.g.
|
1057
1059
|
useful if you need a part of the schema to be different depending on the
|
1058
1060
|
business action.
|
@@ -1076,7 +1078,7 @@ context.schema :PersonInfo do
|
|
1076
1078
|
end
|
1077
1079
|
|
1078
1080
|
# Now we can define our general schema, where we reference the :Person schema.
|
1079
|
-
# Note that at this point, we don't know what's in the :Person
|
1081
|
+
# Note that at this point, we don't know what's in the :Person schema.
|
1080
1082
|
schema = Schemacop::Schema3.new :reference, path: :Person
|
1081
1083
|
|
1082
1084
|
# Validate the data in the context we defined before, where we need the first_name
|
@@ -1097,7 +1099,7 @@ other_context.schema :Person do
|
|
1097
1099
|
end
|
1098
1100
|
|
1099
1101
|
# Finally, validate the data in the new context. We do not want the real name or
|
1100
|
-
# birth date of the person, instead only the nickname is allowed
|
1102
|
+
# birth date of the person, instead only the nickname is allowed.
|
1101
1103
|
Schemacop.with_context other_context do
|
1102
1104
|
schema.validate!({first_name: 'Joe', last_name: 'Doe', info: { born_at: '1980-01-01'} })
|
1103
1105
|
# => Schemacop::Exceptions::ValidationError: /nickname: Value must be given.
|
@@ -1115,11 +1117,11 @@ to use other data in the second context than in the first.
|
|
1115
1117
|
|
1116
1118
|
## External schemas
|
1117
1119
|
|
1118
|
-
Finally,
|
1119
|
-
This is especially useful is you have schemas in your application which
|
1120
|
-
multiple times
|
1120
|
+
Finally, Schemacop features the possibility to specify schemas in seperate
|
1121
|
+
files. This is especially useful is you have schemas in your application which
|
1122
|
+
are used multiple times throughout the application.
|
1121
1123
|
|
1122
|
-
For each schema, you define the schema in a
|
1124
|
+
For each schema, you define the schema in a separate file, and after loading the
|
1123
1125
|
schemas, you can reference them in other schemas.
|
1124
1126
|
|
1125
1127
|
The default load path is `'app/schemas'`, but this can be configured by setting
|
@@ -1192,4 +1194,4 @@ however you need to eager load the schemas yourself:
|
|
1192
1194
|
|
1193
1195
|
```ruby
|
1194
1196
|
Schemacop::V3::GlobalContext.eager_load!
|
1195
|
-
```
|
1197
|
+
```
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
3.0.0.
|
1
|
+
3.0.0.rc3
|
data/lib/schemacop/v2.rb
CHANGED
@@ -10,7 +10,6 @@ require 'schemacop/v2/node'
|
|
10
10
|
require 'schemacop/v2/node_with_block'
|
11
11
|
require 'schemacop/v2/node_supporting_type'
|
12
12
|
require 'schemacop/v2/field_node'
|
13
|
-
require 'schemacop/v2/root_node'
|
14
13
|
require 'schemacop/v2/node_supporting_field'
|
15
14
|
require 'schemacop/v2/caster'
|
16
15
|
require 'schemacop/v2/dupper'
|
@@ -11,6 +11,8 @@ module Schemacop
|
|
11
11
|
|
12
12
|
supports_children(name: true)
|
13
13
|
|
14
|
+
attr_reader :properties
|
15
|
+
|
14
16
|
def self.allowed_options
|
15
17
|
super + ATTRIBUTES - %i[dependencies] + %i[additional_properties]
|
16
18
|
end
|
@@ -19,6 +21,14 @@ module Schemacop
|
|
19
21
|
super + NodeRegistry.dsl_methods(true) + %i[dsl_dep dsl_add]
|
20
22
|
end
|
21
23
|
|
24
|
+
def self.sanitize_exp(exp)
|
25
|
+
exp = exp.to_s
|
26
|
+
if exp.start_with?('(?-mix:')
|
27
|
+
exp = exp.to_s.gsub(/^\(\?-mix:/, '').gsub(/\)$/, '')
|
28
|
+
end
|
29
|
+
return exp
|
30
|
+
end
|
31
|
+
|
22
32
|
def add_child(node)
|
23
33
|
unless node.name
|
24
34
|
fail Exceptions::InvalidSchemaError, 'Child nodes must have a name.'
|
@@ -54,7 +64,7 @@ module Schemacop
|
|
54
64
|
|
55
65
|
json = {}
|
56
66
|
json[:properties] = Hash[properties.values.map { |p| [p.name, p.as_json] }] if properties.any?
|
57
|
-
json[:patternProperties] = Hash[pattern_properties.values.map { |p| [sanitize_exp(p.name), p.as_json] }] if pattern_properties.any?
|
67
|
+
json[:patternProperties] = Hash[pattern_properties.values.map { |p| [self.class.sanitize_exp(p.name), p.as_json] }] if pattern_properties.any?
|
58
68
|
|
59
69
|
# In schemacop, by default, additional properties are not allowed,
|
60
70
|
# the users explicitly need to enable additional properties
|
@@ -75,14 +85,6 @@ module Schemacop
|
|
75
85
|
return process_json(ATTRIBUTES, json)
|
76
86
|
end
|
77
87
|
|
78
|
-
def sanitize_exp(exp)
|
79
|
-
exp = exp.to_s
|
80
|
-
if exp.start_with?('(?-mix:')
|
81
|
-
exp = exp.to_s.gsub(/^\(\?-mix:/, '').gsub(/\)$/, '')
|
82
|
-
end
|
83
|
-
return exp
|
84
|
-
end
|
85
|
-
|
86
88
|
def allowed_types
|
87
89
|
{ Hash => :object }
|
88
90
|
end
|
@@ -191,10 +193,10 @@ module Schemacop
|
|
191
193
|
next
|
192
194
|
end
|
193
195
|
|
194
|
-
result[prop.name] = prop.cast(data_hash[prop.name])
|
196
|
+
result[prop.as || prop.name] = prop.cast(data_hash[prop.name])
|
195
197
|
|
196
|
-
if result[prop.name].nil? && !data_hash.include?(prop.name)
|
197
|
-
result.delete(prop.name)
|
198
|
+
if result[prop.as || prop.name].nil? && !data_hash.include?(prop.name)
|
199
|
+
result.delete(prop.as || prop.name)
|
198
200
|
end
|
199
201
|
end
|
200
202
|
|
data/lib/schemacop/v3/node.rb
CHANGED
@@ -2,6 +2,7 @@ module Schemacop
|
|
2
2
|
module V3
|
3
3
|
class Node
|
4
4
|
attr_reader :name
|
5
|
+
attr_reader :as
|
5
6
|
attr_reader :default
|
6
7
|
attr_reader :title
|
7
8
|
attr_reader :description
|
@@ -32,8 +33,10 @@ module Schemacop
|
|
32
33
|
if options.delete(:cast_str)
|
33
34
|
format = NodeRegistry.name(klass)
|
34
35
|
one_of_options = {
|
35
|
-
required:
|
36
|
-
name:
|
36
|
+
required: options.delete(:required),
|
37
|
+
name: options.delete(:name),
|
38
|
+
as: options.delete(:as),
|
39
|
+
description: options.delete(:description)
|
37
40
|
}
|
38
41
|
node = create(:one_of, **one_of_options) do
|
39
42
|
self.node node
|
@@ -45,7 +48,7 @@ module Schemacop
|
|
45
48
|
end
|
46
49
|
|
47
50
|
def self.allowed_options
|
48
|
-
%i[name required default description examples enum parent options cast_str title]
|
51
|
+
%i[name required default description examples enum parent options cast_str title as]
|
49
52
|
end
|
50
53
|
|
51
54
|
def self.dsl_methods
|
@@ -75,6 +78,7 @@ module Schemacop
|
|
75
78
|
# Assign attributes #
|
76
79
|
@name = options.delete(:name)
|
77
80
|
@name = @name.to_s unless @name.nil? || @name.is_a?(Regexp)
|
81
|
+
@as = options.delete(:as)
|
78
82
|
@required = !!options.delete(:required)
|
79
83
|
@default = options.delete(:default)
|
80
84
|
@title = options.delete(:title)
|
data/schemacop.gemspec
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
|
-
# stub: schemacop 3.0.0.
|
2
|
+
# stub: schemacop 3.0.0.rc3 ruby lib
|
3
3
|
|
4
4
|
Gem::Specification.new do |s|
|
5
5
|
s.name = "schemacop".freeze
|
6
|
-
s.version = "3.0.0.
|
6
|
+
s.version = "3.0.0.rc3"
|
7
7
|
|
8
8
|
s.required_rubygems_version = Gem::Requirement.new("> 1.3.1".freeze) if s.respond_to? :required_rubygems_version=
|
9
9
|
s.require_paths = ["lib".freeze]
|
metadata
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: schemacop
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.0.0.
|
4
|
+
version: 3.0.0.rc3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sitrox
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
date: 2021-01-28 00:00:00.000000000 Z
|
@@ -150,8 +150,8 @@ dependencies:
|
|
150
150
|
- - '='
|
151
151
|
- !ruby/object:Gem::Version
|
152
152
|
version: 0.21.2
|
153
|
-
description:
|
154
|
-
email:
|
153
|
+
description:
|
154
|
+
email:
|
155
155
|
executables: []
|
156
156
|
extensions: []
|
157
157
|
extra_rdoc_files: []
|
@@ -264,7 +264,7 @@ homepage: https://github.com/sitrox/schemacop
|
|
264
264
|
licenses:
|
265
265
|
- MIT
|
266
266
|
metadata: {}
|
267
|
-
post_install_message:
|
267
|
+
post_install_message:
|
268
268
|
rdoc_options: []
|
269
269
|
require_paths:
|
270
270
|
- lib
|
@@ -279,8 +279,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
279
279
|
- !ruby/object:Gem::Version
|
280
280
|
version: 1.3.1
|
281
281
|
requirements: []
|
282
|
-
rubygems_version: 3.
|
283
|
-
signing_key:
|
282
|
+
rubygems_version: 3.1.4
|
283
|
+
signing_key:
|
284
284
|
specification_version: 4
|
285
285
|
summary: Schemacop validates ruby structures consisting of nested hashes and arrays
|
286
286
|
against simple schema definitions.
|