kaiseki 1.2.2 → 1.2.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.
- data/lib/kaiseki.rb +1 -1
- data/lib/parseable.rb +6 -1
- metadata +1 -2
- data/lib/parseable.rb~ +0 -100
data/lib/kaiseki.rb
CHANGED
data/lib/parseable.rb
CHANGED
@@ -7,7 +7,7 @@ module Kaiseki
|
|
7
7
|
def parse stream, options = {}
|
8
8
|
stream = stream.to_stream
|
9
9
|
stream.lock do
|
10
|
-
|
10
|
+
parse! stream, options
|
11
11
|
end
|
12
12
|
end
|
13
13
|
|
@@ -96,5 +96,10 @@ module Kaiseki
|
|
96
96
|
def tag_error name
|
97
97
|
ErrorTag.new self, name
|
98
98
|
end
|
99
|
+
|
100
|
+
private
|
101
|
+
def parse! stream, options = {}
|
102
|
+
self.to_parseable.parse stream, options
|
103
|
+
end
|
99
104
|
end
|
100
105
|
end
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: kaiseki
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 1.2.
|
5
|
+
version: 1.2.3
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- William Hamilton-Levi
|
@@ -26,7 +26,6 @@ extra_rdoc_files: []
|
|
26
26
|
files:
|
27
27
|
- lib/result_merge.rb
|
28
28
|
- lib/var_get.rb
|
29
|
-
- lib/parseable.rb~
|
30
29
|
- lib/parser_package.rb
|
31
30
|
- lib/var_set.rb
|
32
31
|
- lib/mod_object.rb
|
data/lib/parseable.rb~
DELETED
@@ -1,100 +0,0 @@
|
|
1
|
-
module Kaiseki
|
2
|
-
module Parseable
|
3
|
-
def to_parseable
|
4
|
-
self
|
5
|
-
end
|
6
|
-
|
7
|
-
def parse stream, options = {}
|
8
|
-
stream = stream.to_parseable
|
9
|
-
stream.lock do
|
10
|
-
self.to_parseable.parse! stream, options
|
11
|
-
end
|
12
|
-
end
|
13
|
-
|
14
|
-
def predicate?
|
15
|
-
false
|
16
|
-
end
|
17
|
-
|
18
|
-
def protect &block
|
19
|
-
catch :ParseSuccess do
|
20
|
-
catch :SkipSuccess do
|
21
|
-
block.call
|
22
|
-
throw :ParseSuccess
|
23
|
-
end
|
24
|
-
raise RuntimeError, "#{self.to_s} must not catch a SkipSuccess"
|
25
|
-
end
|
26
|
-
end
|
27
|
-
|
28
|
-
def & other
|
29
|
-
SequenceParser.new self, other
|
30
|
-
end
|
31
|
-
|
32
|
-
def | other
|
33
|
-
ChoiceParser.new self, other
|
34
|
-
end
|
35
|
-
|
36
|
-
def repeat min, max = nil
|
37
|
-
RepeatParser.new self, min, max
|
38
|
-
end
|
39
|
-
|
40
|
-
def optional
|
41
|
-
repeat 0, 1
|
42
|
-
end
|
43
|
-
|
44
|
-
def zero_or_more
|
45
|
-
repeat 0
|
46
|
-
end
|
47
|
-
|
48
|
-
def one_or_more
|
49
|
-
repeat 1
|
50
|
-
end
|
51
|
-
|
52
|
-
def and?
|
53
|
-
AndPredicate.new self
|
54
|
-
end
|
55
|
-
|
56
|
-
def not!
|
57
|
-
NotPredicate.new self
|
58
|
-
end
|
59
|
-
|
60
|
-
def skip
|
61
|
-
SkipPredicate.new self
|
62
|
-
end
|
63
|
-
|
64
|
-
def override options
|
65
|
-
OverrideResult.new self, options
|
66
|
-
end
|
67
|
-
|
68
|
-
def merge
|
69
|
-
MergeResult.new self
|
70
|
-
end
|
71
|
-
|
72
|
-
def cast to_class
|
73
|
-
CastResult.new self, to_class
|
74
|
-
end
|
75
|
-
|
76
|
-
def filter node = Node.default, &block
|
77
|
-
FilterResult.new self, node, &block
|
78
|
-
end
|
79
|
-
|
80
|
-
def action node = Node.default, &block
|
81
|
-
ActionResult.new self, node, &block
|
82
|
-
end
|
83
|
-
|
84
|
-
def validate validators
|
85
|
-
ValidateResult.new self, validators
|
86
|
-
end
|
87
|
-
|
88
|
-
def set *vars
|
89
|
-
SetVar.new self, *vars
|
90
|
-
end
|
91
|
-
|
92
|
-
def tag_result name
|
93
|
-
ResultTag.new self, name
|
94
|
-
end
|
95
|
-
|
96
|
-
def tag_error name
|
97
|
-
ErrorTag.new self, name
|
98
|
-
end
|
99
|
-
end
|
100
|
-
end
|