ast 2.4.1 → 2.4.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e1ea61250ad8d285c9857cb70e2529f827b561b673b01dc02e92cc7bcea81094
4
- data.tar.gz: 88c407ffbff0293306bda599d2fe5146bb3504a389f2a69c2c43a8b5c2244446
3
+ metadata.gz: 5082859d425411058e1012ed6b088037409f8c794dd4fc33b991a760c50dd441
4
+ data.tar.gz: d2c3464d367d35652e8eda7c78a9047da7e26032337d1e2a78cf5256b74a71ee
5
5
  SHA512:
6
- metadata.gz: dad932faea02614394a61c4075efb11a2932c6231f9cd11d59d8e7345d8f74d4e7602881fce0e77094017c137159466b92f13ebecaee17e4ee611a0091a3f17a
7
- data.tar.gz: 59ea82e96f376f3dc4805a66baa37e577dec80bcad6485ba3a4bc440b27d0ba31ca5d789ca74e7594758f7cfbd279bc75195da8073af17b817e91f714192e874
6
+ metadata.gz: 3482c4313010bab4e9bd270cd13548f8564f04a5fff0b4ec4b523049c327440dfc5e6b04e6b588efa86c8a70b5d992561d826870fa06ba1429610641eb063961
7
+ data.tar.gz: e7d976b0666b74bcff7a03a3d3186440fabef609463d28c487fde4d818633ed7c81651b491ffa14db3fa2d4f951469247d27f4b40348ee08ba6a068882c65b9a
data/lib/ast/node.rb CHANGED
@@ -57,7 +57,7 @@ module AST
57
57
  alias to_a children
58
58
 
59
59
  # Returns the precomputed hash value for this node
60
- # @return [Fixnum]
60
+ # @return [Integer]
61
61
  attr_reader :hash
62
62
 
63
63
  # Constructs a new instance of Node.
@@ -229,9 +229,9 @@ module AST
229
229
  def to_ast
230
230
  self
231
231
  end
232
-
232
+
233
233
  # Converts `self` to an Array where the first element is the type as a Symbol,
234
- # and subsequent elements are the same representation of its children.
234
+ # and subsequent elements are the same representation of its children.
235
235
  #
236
236
  # @return [Array<Symbol, [...Array]>]
237
237
  def to_sexp_array
@@ -246,6 +246,14 @@ module AST
246
246
  [type, *children_sexp_arrs]
247
247
  end
248
248
 
249
+ # Enables matching for Node, where type is the first element
250
+ # and the children are remaining items.
251
+ #
252
+ # @return [Array]
253
+ def deconstruct
254
+ [type, *children]
255
+ end
256
+
249
257
  protected
250
258
 
251
259
  # Returns `@type` with all underscores replaced by dashes. This allows
data/lib/ast/processor.rb CHANGED
@@ -6,7 +6,7 @@ module AST
6
6
  #
7
7
  # @deprecated Use {AST::Processor::Mixin} instead.
8
8
  class Processor
9
- require 'ast/processor/mixin'
9
+ require_relative 'processor/mixin'
10
10
  include Mixin
11
11
  end
12
12
  end
data/lib/ast/sexp.rb CHANGED
@@ -3,8 +3,8 @@ module AST
3
3
  # to define deeply nested ASTs from Ruby code, for example, in
4
4
  # tests. It should be used like this:
5
5
  #
6
- # describe YourLanguage::AST do
7
- # include Sexp
6
+ # describe YourLanguage do
7
+ # include ::AST::Sexp
8
8
  #
9
9
  # it "should correctly parse expressions" do
10
10
  # YourLanguage.parse("1 + 2 * 3").should ==
data/lib/ast.rb CHANGED
@@ -11,7 +11,7 @@
11
11
  # additional recommendations and design patterns.
12
12
  #
13
13
  module AST
14
- require 'ast/node'
15
- require 'ast/processor'
16
- require 'ast/sexp'
14
+ require_relative 'ast/node'
15
+ require_relative 'ast/processor'
16
+ require_relative 'ast/sexp'
17
17
  end
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ast
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.4.1
4
+ version: 2.4.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - whitequark
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2020-06-10 00:00:00.000000000 Z
10
+ date: 2025-03-19 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: rake
@@ -16,42 +15,28 @@ dependencies:
16
15
  requirements:
17
16
  - - "~>"
18
17
  - !ruby/object:Gem::Version
19
- version: '12.3'
18
+ version: '13.2'
20
19
  type: :development
21
20
  prerelease: false
22
21
  version_requirements: !ruby/object:Gem::Requirement
23
22
  requirements:
24
23
  - - "~>"
25
24
  - !ruby/object:Gem::Version
26
- version: '12.3'
25
+ version: '13.2'
27
26
  - !ruby/object:Gem::Dependency
28
- name: bacon
27
+ name: rspec
29
28
  requirement: !ruby/object:Gem::Requirement
30
29
  requirements:
31
30
  - - "~>"
32
31
  - !ruby/object:Gem::Version
33
- version: '1.2'
32
+ version: '3.13'
34
33
  type: :development
35
34
  prerelease: false
36
35
  version_requirements: !ruby/object:Gem::Requirement
37
36
  requirements:
38
37
  - - "~>"
39
38
  - !ruby/object:Gem::Version
40
- version: '1.2'
41
- - !ruby/object:Gem::Dependency
42
- name: bacon-colored_output
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - ">="
46
- - !ruby/object:Gem::Version
47
- version: '0'
48
- type: :development
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - ">="
53
- - !ruby/object:Gem::Version
54
- version: '0'
39
+ version: '3.13'
55
40
  - !ruby/object:Gem::Dependency
56
41
  name: simplecov
57
42
  requirement: !ruby/object:Gem::Requirement
@@ -126,7 +111,6 @@ homepage: https://whitequark.github.io/ast/
126
111
  licenses:
127
112
  - MIT
128
113
  metadata: {}
129
- post_install_message:
130
114
  rdoc_options: []
131
115
  require_paths:
132
116
  - lib
@@ -141,8 +125,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
141
125
  - !ruby/object:Gem::Version
142
126
  version: '0'
143
127
  requirements: []
144
- rubygems_version: 3.1.2
145
- signing_key:
128
+ rubygems_version: 3.6.2
146
129
  specification_version: 4
147
130
  summary: A library for working with Abstract Syntax Trees.
148
131
  test_files: []