l43_peg 0.1.6 → 0.1.7

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e5b92019011d80442cfe66f4b3a841a31bba54547efd479a2d19b1f7e687adef
4
- data.tar.gz: 75cb9467e13dc72e773bebe345b68b05d431bdbfc6671c7bc215bd063a86cd6c
3
+ metadata.gz: 373ca9885275389a284235de2dc5f95eb2f470aeece99bf47e9b54ed6e3fdf60
4
+ data.tar.gz: 62ac1897c26b540da5205d7b0fcb6aa1ff472f036e36ca5389c3ac4767fbf926
5
5
  SHA512:
6
- metadata.gz: ab3a4841408511554c96725a7659d7b5928336d195323e06dd8c707f247d48f5e2b7d1831768e018de7fdcfbd3d2dfba0aa791d10b1ab422fb08f8b225797066
7
- data.tar.gz: be59e8841fcc4e9f22194555fa40c8573805a589f119a728a216e256d729fcdd4ce4abaac76df0547a109415b83208e333fc209ef00bb9e46fcd03ec3dafbd85
6
+ metadata.gz: b51cd93714348ba6be2394cd63543603af953820394a6cc201a39c4721d1a10a4ec4bf224ad84c3a9eae49f426126da35dcc0b8cd751f9d6e6265f0341172daf
7
+ data.tar.gz: edbcd0d28cedcb395a6721a28f5f2284fefdaa28c1d7eb6449d8f53a90a00219177aace6e15208f87bd12488ab01712aa015b75179d0195decc34b1d78bba1a7
@@ -2,13 +2,11 @@
2
2
 
3
3
  module L43Peg
4
4
  class Success
5
- def _init
6
- return if @position
7
- @position = _position
8
- end
9
5
  extend L43::OpenObject
10
6
 
11
- attributes ast: nil, cache: nil, position: nil, rest: nil
7
+ attributes ast: nil, cache: nil, position: nil, rest: nil do
8
+ @position ||= _position
9
+ end
12
10
 
13
11
  def map(&mapper)
14
12
  self.class.new(ast: mapper.(ast), cache:, position:, rest:)
@@ -16,7 +14,6 @@ module L43Peg
16
14
 
17
15
  private
18
16
 
19
-
20
17
  def _position
21
18
  case @rest
22
19
  when Tokens
data/lib/l43_peg.rb CHANGED
@@ -1,11 +1,12 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require 'l43/open_object'
4
+
3
5
  require_relative 'l43/require_helper'
4
- require_relative 'l43/open_object'
5
6
  require_subdir {}
6
7
 
7
8
  module L43Peg extend self
8
- VERSION = "0.1.6"
9
+ VERSION = "0.1.7"
9
10
 
10
11
  def parse_string(parser, input, lnb: 1, col: 1, context: {})
11
12
  input = Input.new(input:, col:, lnb:, context:)
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: l43_peg
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.6
4
+ version: 0.1.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Robert Dober
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-04-23 00:00:00.000000000 Z
12
- dependencies: []
11
+ date: 2024-04-27 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: l43_open_object
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 0.2.1
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 0.2.1
13
27
  description: |
14
28
  A (still incomplete) PEG Library
15
29
 
@@ -22,7 +36,6 @@ files:
22
36
  - LICENSE
23
37
  - README.md
24
38
  - lib/l43/match_data_extenstion.rb
25
- - lib/l43/open_object.rb
26
39
  - lib/l43/require_helper.rb
27
40
  - lib/l43_peg.rb
28
41
  - lib/l43_peg/cache.rb
@@ -65,7 +78,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
65
78
  - !ruby/object:Gem::Version
66
79
  version: '0'
67
80
  requirements: []
68
- rubygems_version: 3.5.6
81
+ rubygems_version: 3.5.8
69
82
  signing_key:
70
83
  specification_version: 4
71
84
  summary: A (still incomplete) PEG Library
@@ -1,38 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module L43
4
- module OpenObject
5
- def attributes(*atts, **defaults)
6
- attr_reader(*atts)
7
- attr_reader(*defaults.keys)
8
-
9
- define_method :== do |other|
10
- other&.to_h == to_h
11
- end
12
-
13
- define_method :initialize do |**kwds|
14
- missing = atts - kwds.keys
15
- raise ArgumentError, "missing required keyword parameters: #{missing.inspect}" unless missing.empty?
16
- spurious = kwds.keys - atts - defaults.keys
17
- raise ArgumentError, "spurious keyword parameters: #{spurious.inspect}" unless spurious.empty?
18
-
19
- values = defaults.merge(kwds)
20
- values.each do |key, value|
21
- instance_variable_set("@#{key}", value)
22
- end
23
- _init if respond_to?(:_init)
24
- end
25
-
26
- define_method :to_h do |*|
27
- first = atts.inject Hash.new do |h, attribute|
28
- h.update(attribute => send(attribute))
29
- end
30
- defaults.keys.inject first do |h, attribute|
31
- h.update(attribute => send(attribute))
32
- end
33
- end
34
- alias_method :deconstruct_keys, :to_h
35
- end
36
- end
37
- end
38
- # SPDX-License-Identifier: AGPL-3.0-or-later