schemurai 2.3.0 → 3.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/README.md +67 -4
- data/ext/schemurai_native/Cargo.lock +1 -1
- data/ext/schemurai_native/Cargo.toml +1 -1
- data/ext/schemurai_native/glue.c +155 -14
- data/ext/schemurai_native/src/budget.rs +101 -0
- data/ext/schemurai_native/src/diagnostics.rs +395 -225
- data/ext/schemurai_native/src/enumeration.rs +154 -0
- data/ext/schemurai_native/src/evaluation.rs +219 -0
- data/ext/schemurai_native/src/graph.rs +50 -0
- data/ext/schemurai_native/src/instance_graph.rs +84 -0
- data/ext/schemurai_native/src/lib.rs +947 -184
- data/ext/schemurai_native/src/memo.rs +1149 -0
- data/ext/schemurai_native/src/memo_scope.rs +240 -0
- data/ext/schemurai_native/src/number.rs +7 -8
- data/ext/schemurai_native/src/pattern.rs +157 -14
- data/ext/schemurai_native/src/scope.rs +243 -33
- data/ext/schemurai_native/src/structural.rs +86 -0
- data/ext/schemurai_native/src/tracking.rs +245 -90
- data/lib/schemurai/backend.rb +1 -0
- data/lib/schemurai/evaluator.rb +45 -3
- data/lib/schemurai/limit_budget.rb +78 -0
- data/lib/schemurai/limit_exceeded.rb +18 -0
- data/lib/schemurai/limited_evaluator.rb +100 -0
- data/lib/schemurai/native/evaluator.rb +32 -5
- data/lib/schemurai/schema_domain.rb +12 -7
- data/lib/schemurai/schema_graph.rb +10 -1
- data/lib/schemurai/unique_items.rb +2 -0
- data/lib/schemurai/version.rb +1 -1
- data/lib/schemurai/vm/compiler.rb +7 -3
- data/lib/schemurai/vm/evaluator.rb +50 -3
- data/lib/schemurai/vm/limited_evaluator.rb +97 -0
- data/lib/schemurai.rb +74 -27
- data/sig/schemurai.rbs +20 -12
- metadata +16 -4
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: schemurai
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
4
|
+
version: 3.0.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Kuya KOHARA (oakcask)
|
|
@@ -43,13 +43,21 @@ files:
|
|
|
43
43
|
- ext/schemurai_native/glue.c
|
|
44
44
|
- ext/schemurai_native/protocol.def
|
|
45
45
|
- ext/schemurai_native/protocol.h
|
|
46
|
+
- ext/schemurai_native/src/budget.rs
|
|
46
47
|
- ext/schemurai_native/src/content.rs
|
|
47
48
|
- ext/schemurai_native/src/diagnostics.rs
|
|
49
|
+
- ext/schemurai_native/src/enumeration.rs
|
|
50
|
+
- ext/schemurai_native/src/evaluation.rs
|
|
48
51
|
- ext/schemurai_native/src/format.rs
|
|
52
|
+
- ext/schemurai_native/src/graph.rs
|
|
53
|
+
- ext/schemurai_native/src/instance_graph.rs
|
|
49
54
|
- ext/schemurai_native/src/lib.rs
|
|
55
|
+
- ext/schemurai_native/src/memo.rs
|
|
56
|
+
- ext/schemurai_native/src/memo_scope.rs
|
|
50
57
|
- ext/schemurai_native/src/number.rs
|
|
51
58
|
- ext/schemurai_native/src/pattern.rs
|
|
52
59
|
- ext/schemurai_native/src/scope.rs
|
|
60
|
+
- ext/schemurai_native/src/structural.rs
|
|
53
61
|
- ext/schemurai_native/src/tracking.rs
|
|
54
62
|
- lib/schemurai.rb
|
|
55
63
|
- lib/schemurai/backend.rb
|
|
@@ -62,6 +70,9 @@ files:
|
|
|
62
70
|
- lib/schemurai/evaluation.rb
|
|
63
71
|
- lib/schemurai/evaluator.rb
|
|
64
72
|
- lib/schemurai/formats.rb
|
|
73
|
+
- lib/schemurai/limit_budget.rb
|
|
74
|
+
- lib/schemurai/limit_exceeded.rb
|
|
75
|
+
- lib/schemurai/limited_evaluator.rb
|
|
65
76
|
- lib/schemurai/meta_schemas.rb
|
|
66
77
|
- lib/schemurai/meta_schemas/draft2019_09.rb
|
|
67
78
|
- lib/schemurai/meta_schemas/draft2020_12.rb
|
|
@@ -75,6 +86,7 @@ files:
|
|
|
75
86
|
- lib/schemurai/version.rb
|
|
76
87
|
- lib/schemurai/vm/compiler.rb
|
|
77
88
|
- lib/schemurai/vm/evaluator.rb
|
|
89
|
+
- lib/schemurai/vm/limited_evaluator.rb
|
|
78
90
|
- sig/schemurai.rbs
|
|
79
91
|
homepage: https://github.com/oakcask/schemurai
|
|
80
92
|
licenses:
|
|
@@ -82,7 +94,7 @@ licenses:
|
|
|
82
94
|
metadata:
|
|
83
95
|
homepage_uri: https://github.com/oakcask/schemurai
|
|
84
96
|
source_code_uri: https://github.com/oakcask/schemurai/tree/main
|
|
85
|
-
documentation_uri: https://rubydoc.info/gems/schemurai/
|
|
97
|
+
documentation_uri: https://rubydoc.info/gems/schemurai/3.0.0
|
|
86
98
|
rubygems_mfa_required: 'true'
|
|
87
99
|
rdoc_options:
|
|
88
100
|
- "--main"
|
|
@@ -92,14 +104,14 @@ rdoc_options:
|
|
|
92
104
|
- "--visibility"
|
|
93
105
|
- public
|
|
94
106
|
- "--exclude"
|
|
95
|
-
- lib/schemurai/(?!version\.rb)
|
|
107
|
+
- lib/schemurai/(?!(?:version|limit_exceeded)\.rb)
|
|
96
108
|
require_paths:
|
|
97
109
|
- lib
|
|
98
110
|
required_ruby_version: !ruby/object:Gem::Requirement
|
|
99
111
|
requirements:
|
|
100
112
|
- - ">="
|
|
101
113
|
- !ruby/object:Gem::Version
|
|
102
|
-
version: '
|
|
114
|
+
version: '4.0'
|
|
103
115
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
104
116
|
requirements:
|
|
105
117
|
- - ">="
|