schemurai 2.3.0 → 3.0.1
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 +8 -1
- data/ext/schemurai_native/Cargo.toml +2 -1
- data/ext/schemurai_native/glue.c +155 -14
- data/ext/schemurai_native/src/budget.rs +101 -0
- data/ext/schemurai_native/src/content.rs +18 -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/format.rs +118 -8
- data/ext/schemurai_native/src/graph.rs +50 -0
- data/ext/schemurai_native/src/instance_graph.rs +84 -0
- data/ext/schemurai_native/src/integer_scan.rs +132 -0
- data/ext/schemurai_native/src/lib.rs +954 -185
- 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 +191 -22
- 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 +17 -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.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Kuya KOHARA (oakcask)
|
|
@@ -43,13 +43,22 @@ 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
|
|
54
|
+
- ext/schemurai_native/src/integer_scan.rs
|
|
49
55
|
- ext/schemurai_native/src/lib.rs
|
|
56
|
+
- ext/schemurai_native/src/memo.rs
|
|
57
|
+
- ext/schemurai_native/src/memo_scope.rs
|
|
50
58
|
- ext/schemurai_native/src/number.rs
|
|
51
59
|
- ext/schemurai_native/src/pattern.rs
|
|
52
60
|
- ext/schemurai_native/src/scope.rs
|
|
61
|
+
- ext/schemurai_native/src/structural.rs
|
|
53
62
|
- ext/schemurai_native/src/tracking.rs
|
|
54
63
|
- lib/schemurai.rb
|
|
55
64
|
- lib/schemurai/backend.rb
|
|
@@ -62,6 +71,9 @@ files:
|
|
|
62
71
|
- lib/schemurai/evaluation.rb
|
|
63
72
|
- lib/schemurai/evaluator.rb
|
|
64
73
|
- lib/schemurai/formats.rb
|
|
74
|
+
- lib/schemurai/limit_budget.rb
|
|
75
|
+
- lib/schemurai/limit_exceeded.rb
|
|
76
|
+
- lib/schemurai/limited_evaluator.rb
|
|
65
77
|
- lib/schemurai/meta_schemas.rb
|
|
66
78
|
- lib/schemurai/meta_schemas/draft2019_09.rb
|
|
67
79
|
- lib/schemurai/meta_schemas/draft2020_12.rb
|
|
@@ -75,6 +87,7 @@ files:
|
|
|
75
87
|
- lib/schemurai/version.rb
|
|
76
88
|
- lib/schemurai/vm/compiler.rb
|
|
77
89
|
- lib/schemurai/vm/evaluator.rb
|
|
90
|
+
- lib/schemurai/vm/limited_evaluator.rb
|
|
78
91
|
- sig/schemurai.rbs
|
|
79
92
|
homepage: https://github.com/oakcask/schemurai
|
|
80
93
|
licenses:
|
|
@@ -82,7 +95,7 @@ licenses:
|
|
|
82
95
|
metadata:
|
|
83
96
|
homepage_uri: https://github.com/oakcask/schemurai
|
|
84
97
|
source_code_uri: https://github.com/oakcask/schemurai/tree/main
|
|
85
|
-
documentation_uri: https://rubydoc.info/gems/schemurai/
|
|
98
|
+
documentation_uri: https://rubydoc.info/gems/schemurai/3.0.1
|
|
86
99
|
rubygems_mfa_required: 'true'
|
|
87
100
|
rdoc_options:
|
|
88
101
|
- "--main"
|
|
@@ -92,14 +105,14 @@ rdoc_options:
|
|
|
92
105
|
- "--visibility"
|
|
93
106
|
- public
|
|
94
107
|
- "--exclude"
|
|
95
|
-
- lib/schemurai/(?!version\.rb)
|
|
108
|
+
- lib/schemurai/(?!(?:version|limit_exceeded)\.rb)
|
|
96
109
|
require_paths:
|
|
97
110
|
- lib
|
|
98
111
|
required_ruby_version: !ruby/object:Gem::Requirement
|
|
99
112
|
requirements:
|
|
100
113
|
- - ">="
|
|
101
114
|
- !ruby/object:Gem::Version
|
|
102
|
-
version: '
|
|
115
|
+
version: '4.0'
|
|
103
116
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
104
117
|
requirements:
|
|
105
118
|
- - ">="
|