prism_ext 0.3.0 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9dc2a569a5d46086c7979bf6dd2b6af03b766ba78a7d3909873e568bcf22baa9
4
- data.tar.gz: 40a740a9bf6b7f3bd0920a5fc1af08cd27ff0ccaf5e88e172ef2757a690d5f19
3
+ metadata.gz: 2a730b25cf7eca0bd6d027a947247134045862ca80282ed5480a18715c8383ae
4
+ data.tar.gz: 70e2168d438071f2ad30532d2d98f0a5f85fee95df1f7feaaf3459c05271eaf1
5
5
  SHA512:
6
- metadata.gz: 3a8aa09f730f28d6faf50be52288d3c85f16ab3e724befc09221fd5ff89185c6b086c069324643a46b93e9650a503411433e994c336a33885e59df5e54bd9396
7
- data.tar.gz: 27920f2028fa75a70c74a2240d9794c9346d960e22af211e83b76c1cb7ee1ee840c2011e6d0852dbb4af620a9015b9c239218fc2a9f611873ca2a41e7398c7e7
6
+ metadata.gz: 75316468628f563b3d68ee0e061dad459d49e2358e44143bfeb861634d55abcfa734c90726293e76b93bbb79b69b72cef8c21567fb4e48fc49206beba324fa73
7
+ data.tar.gz: 0064e27e308ac3d63e69ea55e7f38510895a9588f1fb5c9b34fe762fcb255679238147fba040e7aef5bbdebb49315fa0ab2f3d1bc274f58370a35921258dae2b
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## 0.3.1 (2024-04-12)
4
+
5
+ * Skip `AssocSplatNode` for hash helper methods
6
+
3
7
  ## 0.3.0 (2024-04-07)
4
8
 
5
9
  * Abstract `prism_ext/parent_node_ext`
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- prism_ext (0.3.0)
4
+ prism_ext (0.3.1)
5
5
  prism
6
6
 
7
7
  GEM
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PrismExt
4
- VERSION = "0.3.0"
4
+ VERSION = "0.3.1"
5
5
  end
data/lib/prism_ext.rb CHANGED
@@ -12,32 +12,32 @@ end
12
12
  module Prism
13
13
  module HashNodeExt
14
14
  def keys
15
- elements.map(&:key)
15
+ elements.select { |element| element.type == :assoc_node }.map(&:key)
16
16
  end
17
17
 
18
18
  def values
19
- elements.map(&:value)
19
+ elements.select { |element| element.type == :assoc_node }.map(&:value)
20
20
  end
21
21
 
22
22
  def hash_element(key)
23
- elements.find { |element_node| element_node.key.to_value == key }
23
+ elements.find { |element| element.type == :assoc_node && element.key.to_value == key }
24
24
  end
25
25
 
26
26
  def hash_value(key)
27
- elements.find { |element_node| element_node.key.to_value == key }&.value
27
+ elements.find { |element| element.type == :assoc_node && element.key.to_value == key }&.value
28
28
  end
29
29
 
30
30
  # Respond key value and source for hash node
31
31
  def method_missing(method_name, *args, &block)
32
32
  if method_name.to_s.end_with?('_element')
33
33
  key = method_name.to_s[0..-9]
34
- return elements.find { |element| element.key.to_value.to_s == key }
34
+ return elements.find { |element| element.type == :assoc_node && element.key.to_value.to_s == key }
35
35
  elsif method_name.to_s.end_with?('_value')
36
36
  key = method_name.to_s[0..-7]
37
- return elements.find { |element| element.key.to_value.to_s == key }&.value
37
+ return elements.find { |element| element.type == :assoc_node && element.key.to_value.to_s == key }&.value
38
38
  elsif method_name.to_s.end_with?('_source')
39
39
  key = method_name.to_s[0..-8]
40
- return elements.find { |element| element.key.to_value.to_s == key }&.value&.to_source || ''
40
+ return elements.find { |element| element.type == :assoc_node && element.key.to_value.to_s == key }&.value&.to_source || ''
41
41
  end
42
42
 
43
43
  super
@@ -46,13 +46,13 @@ module Prism
46
46
  def respond_to_missing?(method_name, *args)
47
47
  if method_name.to_s.end_with?('_element')
48
48
  key = method_name.to_s[0..-9]
49
- return !!elements.find { |element| element.key.to_value.to_s == key }
49
+ return !!elements.find { |element| element.type == :assoc_node && element.key.to_value.to_s == key }
50
50
  elsif method_name.to_s.end_with?('_value')
51
51
  key = method_name.to_s[0..-7]
52
- return !!elements.find { |element| element.key.to_value.to_s == key }
52
+ return !!elements.find { |element| element.type == :assoc_node && element.key.to_value.to_s == key }
53
53
  elsif method_name.to_s.end_with?('_source')
54
54
  key = method_name.to_s[0..-8]
55
- return !!elements.find { |element| element.key.to_value.to_s == key }
55
+ return !!elements.find { |element| element.type == :assoc_node && element.key.to_value.to_s == key }
56
56
  end
57
57
 
58
58
  super
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: prism_ext
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Richard Huang
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-04-07 00:00:00.000000000 Z
11
+ date: 2024-04-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: prism