nxt_schema 0.1.2 → 1.0.0
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/.ruby-version +1 -0
- data/Gemfile +0 -1
- data/Gemfile.lock +32 -29
- data/README.md +186 -116
- data/lib/nxt_schema.rb +56 -49
- data/lib/nxt_schema/{node.rb → application.rb} +1 -1
- data/lib/nxt_schema/application/any_of.rb +40 -0
- data/lib/nxt_schema/application/base.rb +116 -0
- data/lib/nxt_schema/application/collection.rb +57 -0
- data/lib/nxt_schema/application/error_store.rb +57 -0
- data/lib/nxt_schema/application/errors/schema_error.rb +15 -0
- data/lib/nxt_schema/application/errors/validation_error.rb +15 -0
- data/lib/nxt_schema/application/leaf.rb +15 -0
- data/lib/nxt_schema/application/schema.rb +114 -0
- data/lib/nxt_schema/callable.rb +21 -55
- data/lib/nxt_schema/dsl.rb +41 -31
- data/lib/nxt_schema/error.rb +4 -0
- data/lib/nxt_schema/errors/invalid.rb +16 -0
- data/lib/nxt_schema/errors/{error.rb → invalid_options.rb} +1 -2
- data/lib/nxt_schema/missing_input.rb +9 -0
- data/lib/nxt_schema/node/any_of.rb +51 -0
- data/lib/nxt_schema/node/base.rb +135 -233
- data/lib/nxt_schema/node/collection.rb +10 -65
- data/lib/nxt_schema/node/has_sub_nodes.rb +81 -0
- data/lib/nxt_schema/node/leaf.rb +1 -31
- data/lib/nxt_schema/node/maybe_evaluator.rb +15 -10
- data/lib/nxt_schema/node/on_evaluator.rb +25 -0
- data/lib/nxt_schema/node/schema.rb +8 -134
- data/lib/nxt_schema/node/sub_nodes.rb +22 -0
- data/lib/nxt_schema/node/type_system_resolver.rb +22 -0
- data/lib/nxt_schema/types.rb +1 -1
- data/lib/nxt_schema/validators/attribute.rb +3 -3
- data/lib/nxt_schema/validators/{equality.rb → equal_to.rb} +5 -5
- data/lib/nxt_schema/validators/error_messages.rb +42 -0
- data/lib/nxt_schema/{error_messages → validators/error_messages}/en.yaml +3 -3
- data/lib/nxt_schema/validators/{excluded.rb → excluded_in.rb} +4 -4
- data/lib/nxt_schema/validators/excludes.rb +3 -3
- data/lib/nxt_schema/validators/greater_than.rb +3 -3
- data/lib/nxt_schema/validators/greater_than_or_equal.rb +3 -3
- data/lib/nxt_schema/validators/{included.rb → included_in.rb} +4 -4
- data/lib/nxt_schema/validators/includes.rb +3 -3
- data/lib/nxt_schema/validators/less_than.rb +3 -3
- data/lib/nxt_schema/validators/less_than_or_equal.rb +3 -3
- data/lib/nxt_schema/validators/optional_node.rb +13 -8
- data/lib/nxt_schema/validators/pattern.rb +3 -3
- data/lib/nxt_schema/validators/query.rb +4 -4
- data/lib/nxt_schema/validators/registry.rb +1 -7
- data/lib/nxt_schema/{node → validators}/validate_with_proxy.rb +8 -8
- data/lib/nxt_schema/validators/validator.rb +2 -2
- data/lib/nxt_schema/version.rb +1 -1
- data/nxt_schema.gemspec +1 -0
- metadata +42 -22
- data/lib/nxt_schema/callable_or_value.rb +0 -72
- data/lib/nxt_schema/error_messages.rb +0 -40
- data/lib/nxt_schema/errors.rb +0 -4
- data/lib/nxt_schema/errors/invalid_options_error.rb +0 -5
- data/lib/nxt_schema/errors/schema_not_applied_error.rb +0 -5
- data/lib/nxt_schema/node/constructor.rb +0 -9
- data/lib/nxt_schema/node/default_value_evaluator.rb +0 -20
- data/lib/nxt_schema/node/error.rb +0 -13
- data/lib/nxt_schema/node/has_subnodes.rb +0 -97
- data/lib/nxt_schema/node/template_store.rb +0 -15
- data/lib/nxt_schema/registry.rb +0 -85
- data/lib/nxt_schema/undefined.rb +0 -7
@@ -0,0 +1,22 @@
|
|
1
|
+
module NxtSchema
|
2
|
+
module Node
|
3
|
+
class TypeSystemResolver
|
4
|
+
include NxtInit
|
5
|
+
attr_init :node
|
6
|
+
|
7
|
+
delegate_missing_to :node
|
8
|
+
|
9
|
+
def call
|
10
|
+
type_system = options.fetch(:type_system) { parent_node&.type_system }
|
11
|
+
|
12
|
+
if type_system.is_a?(Module)
|
13
|
+
type_system
|
14
|
+
elsif type_system.is_a?(Symbol) || type_system.is_a?(String)
|
15
|
+
"NxtSchema::Types::#{type_system.to_s.classify}".constantize
|
16
|
+
else
|
17
|
+
NxtSchema::Types
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
data/lib/nxt_schema/types.rb
CHANGED
@@ -3,7 +3,7 @@ module NxtSchema
|
|
3
3
|
include Dry.Types()
|
4
4
|
|
5
5
|
StrippedString = Strict::String.constructor(->(string) { string&.strip })
|
6
|
-
|
6
|
+
LengthyStrippedString = StrippedString.constrained(min_size: 1)
|
7
7
|
Enums = -> (*values) { Strict::String.enum(*values) } # Use as NxtSchema::Types::Enums[*ROLES]
|
8
8
|
SymbolizedEnums = -> (*values) { Coercible::Symbol.enum(*values) } # Use as NxtSchema::Types::SymboleEnums[*ROLES]
|
9
9
|
end
|
@@ -12,15 +12,15 @@ module NxtSchema
|
|
12
12
|
# Query any attribute on a value with validator(:attribute, :size, ->(s) { s < 7 })
|
13
13
|
|
14
14
|
def build
|
15
|
-
lambda do |
|
15
|
+
lambda do |application, value|
|
16
16
|
raise ArgumentError, "#{value} does not respond to query: #{method}" unless value.respond_to?(method)
|
17
17
|
|
18
18
|
if expectation.call(value.send(method))
|
19
19
|
true
|
20
20
|
else
|
21
|
-
|
21
|
+
application.add_error(
|
22
22
|
translate_error(
|
23
|
-
|
23
|
+
application.locale,
|
24
24
|
attribute: value,
|
25
25
|
attribute_name: method,
|
26
26
|
value: value.send(method)
|
@@ -5,22 +5,22 @@ module NxtSchema
|
|
5
5
|
@expectation = expectation
|
6
6
|
end
|
7
7
|
|
8
|
-
register_as :
|
8
|
+
register_as :equal_to, :eql
|
9
9
|
attr_reader :expectation
|
10
10
|
|
11
11
|
# Query for equality validator(:equality, 3)
|
12
12
|
# Query for equality validator(:eql, -> { 3 * 3 * 60 })
|
13
13
|
|
14
14
|
def build
|
15
|
-
lambda do |
|
16
|
-
expected_value =
|
15
|
+
lambda do |application, value|
|
16
|
+
expected_value = Callable.new(expectation, nil, value).call
|
17
17
|
|
18
18
|
if value == expected_value
|
19
19
|
true
|
20
20
|
else
|
21
|
-
|
21
|
+
application.add_error(
|
22
22
|
translate_error(
|
23
|
-
|
23
|
+
application.locale,
|
24
24
|
actual: value,
|
25
25
|
expected: expected_value
|
26
26
|
)
|
@@ -0,0 +1,42 @@
|
|
1
|
+
module NxtSchema
|
2
|
+
module Validators
|
3
|
+
class ErrorMessages
|
4
|
+
class << self
|
5
|
+
def values
|
6
|
+
@values ||= {}
|
7
|
+
end
|
8
|
+
|
9
|
+
def values=(value)
|
10
|
+
@values = value
|
11
|
+
end
|
12
|
+
|
13
|
+
def load(paths = files)
|
14
|
+
Array(paths).each do |path|
|
15
|
+
new_values = YAML.load(ERB.new(File.read(path)).result).with_indifferent_access
|
16
|
+
self.values = values.deep_merge!(new_values)
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
def resolve(locale, key, **options)
|
21
|
+
message = begin
|
22
|
+
values.fetch(locale).fetch(key)
|
23
|
+
rescue KeyError
|
24
|
+
raise "Could not resolve error message for #{locale}->#{key}"
|
25
|
+
end
|
26
|
+
|
27
|
+
message % options
|
28
|
+
end
|
29
|
+
|
30
|
+
def files
|
31
|
+
@files ||= begin
|
32
|
+
files = Dir.entries(File.expand_path('../error_messages/', __FILE__)).map do |filename|
|
33
|
+
File.expand_path("../error_messages/#{filename}", __FILE__)
|
34
|
+
end
|
35
|
+
|
36
|
+
files.select { |f| !File.directory? f }
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
@@ -2,11 +2,11 @@ en:
|
|
2
2
|
required_key_missing: "Required key :%{key} is missing"
|
3
3
|
additional_keys_detected: "Additional keys %{keys} not allowed"
|
4
4
|
attribute: "%{attribute} has invalid %{attribute_name} attribute of %{value}"
|
5
|
-
|
5
|
+
equal_to: "%{actual} does not equal %{expected}"
|
6
6
|
excludes: "%{value} cannot contain %{target}"
|
7
7
|
includes: "%{value} must include %{target}"
|
8
|
-
|
9
|
-
|
8
|
+
excluded_in: "%{value} must be excluded in %{target}"
|
9
|
+
included_in: "%{value} must be included in %{target}"
|
10
10
|
greater_than: "%{value} must be greater than %{threshold}"
|
11
11
|
greater_than_or_equal: "%{value} must be greater than or equal to %{threshold}"
|
12
12
|
less_than: "%{value} must be less than %{threshold}"
|
@@ -5,16 +5,16 @@ module NxtSchema
|
|
5
5
|
@target = target
|
6
6
|
end
|
7
7
|
|
8
|
-
register_as :
|
8
|
+
register_as :excluded_in
|
9
9
|
attr_reader :target
|
10
10
|
|
11
11
|
def build
|
12
|
-
lambda do |
|
12
|
+
lambda do |application, value|
|
13
13
|
if target.exclude?(value)
|
14
14
|
true
|
15
15
|
else
|
16
|
-
message = translate_error(
|
17
|
-
|
16
|
+
message = translate_error(application.locale, target: target, value: value)
|
17
|
+
application.add_error(message)
|
18
18
|
end
|
19
19
|
end
|
20
20
|
end
|
@@ -9,12 +9,12 @@ module NxtSchema
|
|
9
9
|
attr_reader :target
|
10
10
|
|
11
11
|
def build
|
12
|
-
lambda do |
|
12
|
+
lambda do |application, value|
|
13
13
|
if value.exclude?(target)
|
14
14
|
true
|
15
15
|
else
|
16
|
-
message = translate_error(
|
17
|
-
|
16
|
+
message = translate_error(application.locale, target: target, value: value)
|
17
|
+
application.add_error(message)
|
18
18
|
end
|
19
19
|
end
|
20
20
|
end
|
@@ -9,12 +9,12 @@ module NxtSchema
|
|
9
9
|
attr_reader :threshold
|
10
10
|
|
11
11
|
def build
|
12
|
-
lambda do |
|
12
|
+
lambda do |application, value|
|
13
13
|
if value > threshold
|
14
14
|
true
|
15
15
|
else
|
16
|
-
message = translate_error(
|
17
|
-
|
16
|
+
message = translate_error(application.locale, value: value, threshold: threshold)
|
17
|
+
application.add_error(message)
|
18
18
|
end
|
19
19
|
end
|
20
20
|
end
|
@@ -9,12 +9,12 @@ module NxtSchema
|
|
9
9
|
attr_reader :threshold
|
10
10
|
|
11
11
|
def build
|
12
|
-
lambda do |
|
12
|
+
lambda do |application, value|
|
13
13
|
if value >= threshold
|
14
14
|
true
|
15
15
|
else
|
16
|
-
message = translate_error(
|
17
|
-
|
16
|
+
message = translate_error(application.locale, value: value, threshold: threshold)
|
17
|
+
application.add_error(message)
|
18
18
|
end
|
19
19
|
end
|
20
20
|
end
|
@@ -5,16 +5,16 @@ module NxtSchema
|
|
5
5
|
@target = target
|
6
6
|
end
|
7
7
|
|
8
|
-
register_as :
|
8
|
+
register_as :included_in
|
9
9
|
attr_reader :target
|
10
10
|
|
11
11
|
def build
|
12
|
-
lambda do |
|
12
|
+
lambda do |application, value|
|
13
13
|
if target.include?(value)
|
14
14
|
true
|
15
15
|
else
|
16
|
-
message = translate_error(
|
17
|
-
|
16
|
+
message = translate_error(application.locale, value: value, target: target)
|
17
|
+
application.add_error(message)
|
18
18
|
end
|
19
19
|
end
|
20
20
|
end
|
@@ -9,12 +9,12 @@ module NxtSchema
|
|
9
9
|
attr_reader :target
|
10
10
|
|
11
11
|
def build
|
12
|
-
lambda do |
|
12
|
+
lambda do |application, value|
|
13
13
|
if value.include?(target)
|
14
14
|
true
|
15
15
|
else
|
16
|
-
message = translate_error(
|
17
|
-
|
16
|
+
message = translate_error(application.locale, value: value, target: target)
|
17
|
+
application.add_error(message)
|
18
18
|
end
|
19
19
|
end
|
20
20
|
end
|
@@ -9,12 +9,12 @@ module NxtSchema
|
|
9
9
|
attr_reader :threshold
|
10
10
|
|
11
11
|
def build
|
12
|
-
lambda do |
|
12
|
+
lambda do |application, value|
|
13
13
|
if value < threshold
|
14
14
|
true
|
15
15
|
else
|
16
|
-
message = translate_error(
|
17
|
-
|
16
|
+
message = translate_error(application.locale, value: value, threshold: threshold)
|
17
|
+
application.add_error(message)
|
18
18
|
end
|
19
19
|
end
|
20
20
|
end
|
@@ -9,12 +9,12 @@ module NxtSchema
|
|
9
9
|
attr_reader :threshold
|
10
10
|
|
11
11
|
def build
|
12
|
-
lambda do |
|
12
|
+
lambda do |application, value|
|
13
13
|
if value <= threshold
|
14
14
|
true
|
15
15
|
else
|
16
|
-
message = translate_error(
|
17
|
-
|
16
|
+
message = translate_error(application.locale, value: value, threshold: threshold)
|
17
|
+
application.add_error(message)
|
18
18
|
end
|
19
19
|
end
|
20
20
|
end
|
@@ -10,15 +10,20 @@ module NxtSchema
|
|
10
10
|
attr_reader :conditional, :missing_key
|
11
11
|
|
12
12
|
def build
|
13
|
-
lambda do |
|
14
|
-
args = [
|
13
|
+
lambda do |application, value|
|
14
|
+
args = [application, value]
|
15
15
|
|
16
|
-
if conditional.call(*args.take(conditional.arity))
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
16
|
+
return if conditional.call(*args.take(conditional.arity))
|
17
|
+
return if application.send(:keys).include?(missing_key.to_sym)
|
18
|
+
|
19
|
+
message = ErrorMessages.resolve(
|
20
|
+
application.locale,
|
21
|
+
:required_key_missing,
|
22
|
+
key: missing_key,
|
23
|
+
target: application.input
|
24
|
+
)
|
25
|
+
|
26
|
+
application.add_error(message)
|
22
27
|
end
|
23
28
|
end
|
24
29
|
end
|
@@ -9,12 +9,12 @@ module NxtSchema
|
|
9
9
|
attr_reader :pattern
|
10
10
|
|
11
11
|
def build
|
12
|
-
lambda do |
|
12
|
+
lambda do |application, value|
|
13
13
|
if value.match(pattern)
|
14
14
|
true
|
15
15
|
else
|
16
|
-
message = translate_error(
|
17
|
-
|
16
|
+
message = translate_error(application.locale, value: value, pattern: pattern)
|
17
|
+
application.add_error(message)
|
18
18
|
false
|
19
19
|
end
|
20
20
|
end
|
@@ -8,18 +8,18 @@ module NxtSchema
|
|
8
8
|
register_as :query
|
9
9
|
attr_reader :method
|
10
10
|
|
11
|
-
# Query a boolean method on you value =>
|
11
|
+
# Query a boolean method on you value => application(:test, :String).validate(:query, :good_enough?)
|
12
12
|
# => Would be valid if value.good_enough? is truthy
|
13
13
|
|
14
14
|
def build
|
15
|
-
lambda do |
|
15
|
+
lambda do |application, value|
|
16
16
|
raise ArgumentError, "#{value} does not respond to query: #{method}" unless value.respond_to?(method)
|
17
17
|
|
18
18
|
if value.send(method)
|
19
19
|
true
|
20
20
|
else
|
21
|
-
message = translate_error(
|
22
|
-
|
21
|
+
message = translate_error(application.locale, value: value, actual: value.send(method), query: method)
|
22
|
+
application.add_error(message)
|
23
23
|
end
|
24
24
|
end
|
25
25
|
end
|
@@ -1,14 +1,14 @@
|
|
1
1
|
module NxtSchema
|
2
|
-
module
|
2
|
+
module Validator
|
3
3
|
class ValidateWithProxy
|
4
|
-
def initialize(
|
5
|
-
@
|
4
|
+
def initialize(application)
|
5
|
+
@application = application
|
6
6
|
@aggregated_errors = []
|
7
7
|
end
|
8
8
|
|
9
|
-
attr_reader :
|
9
|
+
attr_reader :application
|
10
10
|
|
11
|
-
delegate_missing_to :
|
11
|
+
delegate_missing_to :application
|
12
12
|
|
13
13
|
def validate(&block)
|
14
14
|
result = instance_exec(&block)
|
@@ -24,7 +24,7 @@ module NxtSchema
|
|
24
24
|
|
25
25
|
def copy_aggregated_errors_to_node
|
26
26
|
aggregated_errors.each do |error|
|
27
|
-
|
27
|
+
application.add_error(error)
|
28
28
|
end
|
29
29
|
end
|
30
30
|
|
@@ -33,8 +33,8 @@ module NxtSchema
|
|
33
33
|
attr_reader :aggregated_errors
|
34
34
|
|
35
35
|
def validator(key, *args)
|
36
|
-
validator = node.validator
|
37
|
-
validator.call(self,
|
36
|
+
validator = application.node.send(:validator, key, *args)
|
37
|
+
validator.call(self, application.input)
|
38
38
|
end
|
39
39
|
end
|
40
40
|
end
|
@@ -3,14 +3,14 @@ module NxtSchema
|
|
3
3
|
class Validator
|
4
4
|
def self.register_as(*keys)
|
5
5
|
keys.each do |key|
|
6
|
-
NxtSchema::Validators::
|
6
|
+
NxtSchema::Validators::REGISTRY.register(key, self)
|
7
7
|
end
|
8
8
|
|
9
9
|
define_method('key') { @key ||= keys.first }
|
10
10
|
end
|
11
11
|
|
12
12
|
def translate_error(locale, **options)
|
13
|
-
NxtSchema::ErrorMessages.resolve(locale, key, **options)
|
13
|
+
NxtSchema::Validators::ErrorMessages.resolve(locale, key, **options)
|
14
14
|
end
|
15
15
|
end
|
16
16
|
end
|
data/lib/nxt_schema/version.rb
CHANGED
data/nxt_schema.gemspec
CHANGED
@@ -38,6 +38,7 @@ Gem::Specification.new do |spec|
|
|
38
38
|
spec.add_dependency "activesupport"
|
39
39
|
spec.add_dependency "dry-types"
|
40
40
|
spec.add_dependency "nxt_registry"
|
41
|
+
spec.add_dependency "nxt_init"
|
41
42
|
spec.add_development_dependency "bundler", "~> 1.17"
|
42
43
|
spec.add_development_dependency "rake", "~> 12.3.3"
|
43
44
|
spec.add_development_dependency "rspec", "~> 3.0"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: nxt_schema
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andreas Robecke
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-11-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -52,6 +52,20 @@ dependencies:
|
|
52
52
|
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: nxt_init
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
55
69
|
- !ruby/object:Gem::Dependency
|
56
70
|
name: bundler
|
57
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -131,6 +145,7 @@ extra_rdoc_files: []
|
|
131
145
|
files:
|
132
146
|
- ".gitignore"
|
133
147
|
- ".rspec"
|
148
|
+
- ".ruby-version"
|
134
149
|
- ".travis.yml"
|
135
150
|
- Gemfile
|
136
151
|
- Gemfile.lock
|
@@ -140,38 +155,42 @@ files:
|
|
140
155
|
- bin/console
|
141
156
|
- bin/setup
|
142
157
|
- lib/nxt_schema.rb
|
158
|
+
- lib/nxt_schema/application.rb
|
159
|
+
- lib/nxt_schema/application/any_of.rb
|
160
|
+
- lib/nxt_schema/application/base.rb
|
161
|
+
- lib/nxt_schema/application/collection.rb
|
162
|
+
- lib/nxt_schema/application/error_store.rb
|
163
|
+
- lib/nxt_schema/application/errors/schema_error.rb
|
164
|
+
- lib/nxt_schema/application/errors/validation_error.rb
|
165
|
+
- lib/nxt_schema/application/leaf.rb
|
166
|
+
- lib/nxt_schema/application/schema.rb
|
143
167
|
- lib/nxt_schema/callable.rb
|
144
|
-
- lib/nxt_schema/callable_or_value.rb
|
145
168
|
- lib/nxt_schema/dsl.rb
|
146
|
-
- lib/nxt_schema/
|
147
|
-
- lib/nxt_schema/
|
148
|
-
- lib/nxt_schema/errors.rb
|
149
|
-
- lib/nxt_schema/
|
150
|
-
- lib/nxt_schema/
|
151
|
-
- lib/nxt_schema/errors/schema_not_applied_error.rb
|
152
|
-
- lib/nxt_schema/node.rb
|
169
|
+
- lib/nxt_schema/error.rb
|
170
|
+
- lib/nxt_schema/errors/invalid.rb
|
171
|
+
- lib/nxt_schema/errors/invalid_options.rb
|
172
|
+
- lib/nxt_schema/missing_input.rb
|
173
|
+
- lib/nxt_schema/node/any_of.rb
|
153
174
|
- lib/nxt_schema/node/base.rb
|
154
175
|
- lib/nxt_schema/node/collection.rb
|
155
|
-
- lib/nxt_schema/node/
|
156
|
-
- lib/nxt_schema/node/default_value_evaluator.rb
|
157
|
-
- lib/nxt_schema/node/error.rb
|
158
|
-
- lib/nxt_schema/node/has_subnodes.rb
|
176
|
+
- lib/nxt_schema/node/has_sub_nodes.rb
|
159
177
|
- lib/nxt_schema/node/leaf.rb
|
160
178
|
- lib/nxt_schema/node/maybe_evaluator.rb
|
179
|
+
- lib/nxt_schema/node/on_evaluator.rb
|
161
180
|
- lib/nxt_schema/node/schema.rb
|
162
|
-
- lib/nxt_schema/node/
|
181
|
+
- lib/nxt_schema/node/sub_nodes.rb
|
163
182
|
- lib/nxt_schema/node/type_resolver.rb
|
164
|
-
- lib/nxt_schema/node/
|
165
|
-
- lib/nxt_schema/registry.rb
|
183
|
+
- lib/nxt_schema/node/type_system_resolver.rb
|
166
184
|
- lib/nxt_schema/types.rb
|
167
|
-
- lib/nxt_schema/undefined.rb
|
168
185
|
- lib/nxt_schema/validators/attribute.rb
|
169
|
-
- lib/nxt_schema/validators/
|
170
|
-
- lib/nxt_schema/validators/
|
186
|
+
- lib/nxt_schema/validators/equal_to.rb
|
187
|
+
- lib/nxt_schema/validators/error_messages.rb
|
188
|
+
- lib/nxt_schema/validators/error_messages/en.yaml
|
189
|
+
- lib/nxt_schema/validators/excluded_in.rb
|
171
190
|
- lib/nxt_schema/validators/excludes.rb
|
172
191
|
- lib/nxt_schema/validators/greater_than.rb
|
173
192
|
- lib/nxt_schema/validators/greater_than_or_equal.rb
|
174
|
-
- lib/nxt_schema/validators/
|
193
|
+
- lib/nxt_schema/validators/included_in.rb
|
175
194
|
- lib/nxt_schema/validators/includes.rb
|
176
195
|
- lib/nxt_schema/validators/less_than.rb
|
177
196
|
- lib/nxt_schema/validators/less_than_or_equal.rb
|
@@ -179,6 +198,7 @@ files:
|
|
179
198
|
- lib/nxt_schema/validators/pattern.rb
|
180
199
|
- lib/nxt_schema/validators/query.rb
|
181
200
|
- lib/nxt_schema/validators/registry.rb
|
201
|
+
- lib/nxt_schema/validators/validate_with_proxy.rb
|
182
202
|
- lib/nxt_schema/validators/validator.rb
|
183
203
|
- lib/nxt_schema/version.rb
|
184
204
|
- nxt_schema.gemspec
|
@@ -204,7 +224,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
204
224
|
- !ruby/object:Gem::Version
|
205
225
|
version: '0'
|
206
226
|
requirements: []
|
207
|
-
rubygems_version: 3.
|
227
|
+
rubygems_version: 3.1.2
|
208
228
|
signing_key:
|
209
229
|
specification_version: 4
|
210
230
|
summary: Write a short summary, because RubyGems requires one.
|