l43_peg 0.3.1 → 0.3.2
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/lib/l43_peg/box.rb +18 -5
- data/lib/l43_peg/combinators/many.rb +1 -1
- data/lib/l43_peg/combinators/sequence.rb +1 -1
- data/lib/l43_peg/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 5f907b8eabe5792c161d63a9d10519bd5166e1afa42e699b7ee73db66757a74f
|
|
4
|
+
data.tar.gz: 205a833fac0729863834d7f1e77ccb818ee94f2d6ca535bd600563353976a8e2
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: aacdb7f6bde686be38585708fa1c7e5f3f0f91d0ec3559eb763cf25da379a1feb466b8b73fb9170d4583f8a034af333ad679f078cb8bf62313b0cacec7a4a548
|
|
7
|
+
data.tar.gz: 543f1f6452d764638ebde4fbe77e3e0d3d05fec4fee10982c9adeec0ebccfafcc91b4f2412775617910dfe4767dff2325846a23a77f5dd57a9959c47d971626e
|
data/lib/l43_peg/box.rb
CHANGED
|
@@ -5,11 +5,24 @@ module L43Peg
|
|
|
5
5
|
module Box
|
|
6
6
|
attr_reader :value
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
8
|
+
class << self
|
|
9
|
+
def make(class_name)
|
|
10
|
+
case class_name
|
|
11
|
+
when String, Symbol
|
|
12
|
+
make_new(class_name)
|
|
13
|
+
when Class
|
|
14
|
+
class_name
|
|
15
|
+
else
|
|
16
|
+
raise ArgumentError, "need a string, symbol or class, got: #{class_name.inspect}"
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def make_new(class_name)
|
|
21
|
+
klass = Object.const_get(class_name) if Object.const_defined?(class_name)
|
|
22
|
+
raise NotABox, "#{class_name} is already defined but not a Box!" if klass && !(klass < self)
|
|
23
|
+
klass = Object.const_set(class_name, Class.new.include(self)) unless klass
|
|
24
|
+
klass
|
|
25
|
+
end
|
|
13
26
|
end
|
|
14
27
|
|
|
15
28
|
def deconstruct_keys(*) = {class: self, value:}
|
|
@@ -38,7 +38,7 @@ module L43Peg
|
|
|
38
38
|
# end
|
|
39
39
|
# return succeed_parser(ast:, rest: curr_input.drop, parsed:)
|
|
40
40
|
in bad_result
|
|
41
|
-
Errors.
|
|
41
|
+
Errors.bad_parser_result("from parser #{parser.name.inspect} in many: #{bad_result.inspect}")
|
|
42
42
|
end
|
|
43
43
|
end
|
|
44
44
|
end
|
data/lib/l43_peg/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: l43_peg
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.3.
|
|
4
|
+
version: 0.3.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Robert Dober
|
|
8
8
|
bindir: bin
|
|
9
9
|
cert_chain: []
|
|
10
|
-
date: 2026-
|
|
10
|
+
date: 2026-05-01 00:00:00.000000000 Z
|
|
11
11
|
dependencies:
|
|
12
12
|
- !ruby/object:Gem::Dependency
|
|
13
13
|
name: l43_open_object
|
|
@@ -98,7 +98,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
98
98
|
requirements:
|
|
99
99
|
- - ">="
|
|
100
100
|
- !ruby/object:Gem::Version
|
|
101
|
-
version: 4.0.
|
|
101
|
+
version: 4.0.2
|
|
102
102
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
103
103
|
requirements:
|
|
104
104
|
- - ">="
|