unparser 0.6.13 → 0.6.14

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: aa5ab956c61e189d5b428bae04f56316c68498470e62768beca73dbf964cd5ac
4
- data.tar.gz: b6e097050d79ffbab0687a72eba3834189506269ef92dee80e71a4a58741386d
3
+ metadata.gz: f7ba6fe43070f8f0f156310dc9b588dfcb0dc9aef45c1eb639250efb1622d3dd
4
+ data.tar.gz: b73a4e1be5514ca85e2014be9008b59ed1a6847f370682a505d8e718d2e7cbef
5
5
  SHA512:
6
- metadata.gz: 284e039b588767beb2e3fb505ad61c6e121f667b96c4afa6ef0aef0efe31c0d06bdb5269a73614eda79600eb02cc963122b74e53e3fffb7a26cdcae95ae1d666
7
- data.tar.gz: d77901e08acf36a10ccd00a3474662019fe84b8188ac1b39b40f3312b0b6dcb1c6f609ccd87b4d26808a0f9544425cf6d44ab456af01ff712c9c882150c4ff38
6
+ metadata.gz: c360281c3941b7094ee10e09718e6b37f2de361af373942313692728f95160b3c94b979b3fe352804c7f91768edaf3e448e7ec406d392c8eeb68e1f9002ade62
7
+ data.tar.gz: 962d1c44aaa8d94aae4e60997dd75a2c8535b6a6f054f5aa382ff112c3c335a8a67d01af5700781073dce1e6e1b1f20567d7b532b2e1b7fc7dca71a701b26b10
data/README.md CHANGED
@@ -10,7 +10,7 @@ The following constraints apply:
10
10
 
11
11
  * No support for macruby extensions
12
12
  * Only support for the [modern AST](https://github.com/whitequark/parser/#usage) format
13
- * Only support for Ruby >= 3.0
13
+ * Only support for Ruby >= 3.1
14
14
 
15
15
  Notable Users:
16
16
 
@@ -20,9 +20,11 @@ module Unparser
20
20
  # @return [Object]
21
21
  #
22
22
  # @api public
23
+ #
24
+ # mutant:disable
23
25
  def freeze
24
26
  memoized_method_cache
25
- super()
27
+ super
26
28
  end
27
29
 
28
30
  private
@@ -5,7 +5,7 @@ module Unparser
5
5
 
6
6
  # Calculated local variable scope for a given node
7
7
  class LocalVariableScope
8
- include Enumerable, Adamantium, Concord.new(:node)
8
+ include Enumerable, Adamantium
9
9
 
10
10
  # Initialize object
11
11
  #
@@ -21,7 +21,6 @@ module Unparser
21
21
  items << scope
22
22
  end
23
23
  @items = items
24
- super(node)
25
24
  end
26
25
 
27
26
  # Test if local variable was first at given assignment
@@ -9,20 +9,11 @@ module Unparser
9
9
 
10
10
  children :target, :pattern
11
11
 
12
- # Modern ast format emits `match_pattern`
13
- # node on single line pre 3.0, but 3.0+ uses `match_pattern_p`
14
- SYMBOL =
15
- if RUBY_VERSION < '3.0'
16
- ' in '
17
- else
18
- ' => '
19
- end
20
-
21
12
  private
22
13
 
23
14
  def dispatch
24
15
  visit(target)
25
- write(SYMBOL)
16
+ write(' => ')
26
17
  visit(pattern)
27
18
  end
28
19
  end # MatchPattern
@@ -15,19 +15,30 @@ module Unparser
15
15
  private
16
16
 
17
17
  def dispatch
18
- if colon?(key)
19
- write(key.children.first.to_s, ': ')
18
+ if colon?
19
+ emit_colon
20
+ unless implicit_value?
21
+ write(' ')
22
+ visit(value)
23
+ end
20
24
  else
21
25
  visit(key)
22
26
  write(' => ')
27
+ visit(value)
23
28
  end
24
-
25
- visit(value)
26
29
  end
27
30
 
28
- def colon?(key)
31
+ def colon?
29
32
  n_sym?(key) && BAREWORD.match?(key.children.first)
30
33
  end
34
+
35
+ def emit_colon
36
+ write(key.children.first.to_s, ':')
37
+ end
38
+
39
+ def implicit_value?
40
+ n_lvar?(value) && value.children.first.equal?(key.children.first)
41
+ end
31
42
  end
32
43
  end
33
44
  end
@@ -52,6 +52,7 @@ module Unparser
52
52
  kwargs
53
53
  kwsplat
54
54
  lambda
55
+ lvar
55
56
  match_rest
56
57
  pair
57
58
  rescue
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: unparser
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.13
4
+ version: 0.6.14
5
5
  platform: ruby
6
6
  authors:
7
7
  - Markus Schirp
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-02-01 00:00:00.000000000 Z
11
+ date: 2024-06-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: diff-lcs
@@ -44,28 +44,28 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 0.11.27
47
+ version: 0.12.2
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 0.11.27
54
+ version: 0.12.2
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: mutant-rspec
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: 0.11.27
61
+ version: 0.12.2
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: 0.11.27
68
+ version: 0.12.2
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rspec
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -251,6 +251,7 @@ metadata:
251
251
  bug_tracker_uri: https://github.com/mbj/unparser/issues
252
252
  changelog_uri: https://github.com/mbj/unparser/blob/master/Changelog.md
253
253
  funding_uri: https://github.com/sponsors/mbj
254
+ source_code_uri: https://github.com/mbj/unparser
254
255
  rubygems_mfa_required: 'true'
255
256
  post_install_message:
256
257
  rdoc_options: []
@@ -260,7 +261,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
260
261
  requirements:
261
262
  - - ">="
262
263
  - !ruby/object:Gem::Version
263
- version: '3.0'
264
+ version: '3.1'
264
265
  required_rubygems_version: !ruby/object:Gem::Requirement
265
266
  requirements:
266
267
  - - ">="