prism_ext 0.3.0 → 0.3.2

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: d689ab464879e04de75f905ff5d3481e35848099ecb27d2bce625bec9eb02411
4
+ data.tar.gz: 18efebda12545d89d5c848e6080d7488107d1f086093a4d4773495368841ab24
5
5
  SHA512:
6
- metadata.gz: 3a8aa09f730f28d6faf50be52288d3c85f16ab3e724befc09221fd5ff89185c6b086c069324643a46b93e9650a503411433e994c336a33885e59df5e54bd9396
7
- data.tar.gz: 27920f2028fa75a70c74a2240d9794c9346d960e22af211e83b76c1cb7ee1ee840c2011e6d0852dbb4af620a9015b9c239218fc2a9f611873ca2a41e7398c7e7
6
+ metadata.gz: 9f60b313c96b813c21e3a5aee7fc60c083abb9ad368f6605680395687afd0ee7450348abe67b7ad85c9759a65f9910502159a867fe9024392cef33fd6776d126
7
+ data.tar.gz: d02bf032c6ec2fe2f42a1417d3d3c3d98fd13713463e19d1423a4abd90df5b946b57689349b42a99c884d338aa71928db1964ba780b0f91337118234ed853335
data/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## 0.3.2 (2024-04-18)
4
+
5
+ * Remove `hash_element` and `hash_value` methods
6
+
7
+ ## 0.3.1 (2024-04-12)
8
+
9
+ * Skip `AssocSplatNode` for hash helper methods
10
+
3
11
  ## 0.3.0 (2024-04-07)
4
12
 
5
13
  * 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.2)
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.2"
5
5
  end
data/lib/prism_ext.rb CHANGED
@@ -12,32 +12,24 @@ 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)
20
- end
21
-
22
- def hash_element(key)
23
- elements.find { |element_node| element_node.key.to_value == key }
24
- end
25
-
26
- def hash_value(key)
27
- elements.find { |element_node| element_node.key.to_value == key }&.value
19
+ elements.select { |element| element.type == :assoc_node }.map(&:value)
28
20
  end
29
21
 
30
22
  # Respond key value and source for hash node
31
23
  def method_missing(method_name, *args, &block)
32
24
  if method_name.to_s.end_with?('_element')
33
25
  key = method_name.to_s[0..-9]
34
- return elements.find { |element| element.key.to_value.to_s == key }
26
+ return elements.find { |element| element.type == :assoc_node && element.key.to_value.to_s == key }
35
27
  elsif method_name.to_s.end_with?('_value')
36
28
  key = method_name.to_s[0..-7]
37
- return elements.find { |element| element.key.to_value.to_s == key }&.value
29
+ return elements.find { |element| element.type == :assoc_node && element.key.to_value.to_s == key }&.value
38
30
  elsif method_name.to_s.end_with?('_source')
39
31
  key = method_name.to_s[0..-8]
40
- return elements.find { |element| element.key.to_value.to_s == key }&.value&.to_source || ''
32
+ return elements.find { |element| element.type == :assoc_node && element.key.to_value.to_s == key }&.value&.to_source || ''
41
33
  end
42
34
 
43
35
  super
@@ -46,13 +38,13 @@ module Prism
46
38
  def respond_to_missing?(method_name, *args)
47
39
  if method_name.to_s.end_with?('_element')
48
40
  key = method_name.to_s[0..-9]
49
- return !!elements.find { |element| element.key.to_value.to_s == key }
41
+ return !!elements.find { |element| element.type == :assoc_node && element.key.to_value.to_s == key }
50
42
  elsif method_name.to_s.end_with?('_value')
51
43
  key = method_name.to_s[0..-7]
52
- return !!elements.find { |element| element.key.to_value.to_s == key }
44
+ return !!elements.find { |element| element.type == :assoc_node && element.key.to_value.to_s == key }
53
45
  elsif method_name.to_s.end_with?('_source')
54
46
  key = method_name.to_s[0..-8]
55
- return !!elements.find { |element| element.key.to_value.to_s == key }
47
+ return !!elements.find { |element| element.type == :assoc_node && element.key.to_value.to_s == key }
56
48
  end
57
49
 
58
50
  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.2
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-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: prism