parser_node_ext 1.3.0 → 1.3.1
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 +4 -4
- data/CHANGELOG.md +4 -0
- data/Gemfile.lock +1 -1
- data/lib/parser_node_ext/version.rb +1 -1
- data/lib/parser_node_ext.rb +9 -24
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 50a45e7affbc066c77b4b1ced9b3b9e95f44dda27d545406a81835c3272eada5
|
4
|
+
data.tar.gz: 20b65501f3e92ea387a1a3f28ec67627cd3c6ea48228a7988c309730a68d380d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 69a851d7c5e73797708dd354c5b9f145d6d6c525b234b5be9c2d7c9e79ef690117a1c8c9bdb068a428a0796403d67a91104dd327551c004f42c6168d7e41d92a
|
7
|
+
data.tar.gz: 660151c08259100c51194e374c8db31ff66fb2acaf76a9f8c41c594029de8ef775f2a4bdc352718860224c31531fca0e63b6cefdb7e85bc1511e1ce26e86a462
|
data/CHANGELOG.md
CHANGED
data/Gemfile.lock
CHANGED
data/lib/parser_node_ext.rb
CHANGED
@@ -319,21 +319,6 @@ module ParserNodeExt
|
|
319
319
|
end
|
320
320
|
end
|
321
321
|
|
322
|
-
# Check if :hash node contains specified key.
|
323
|
-
# @example
|
324
|
-
# node # s(:hash, s(:pair, s(:sym, :foo), s(:sym, :bar)))
|
325
|
-
# node.key?(:foo) # true
|
326
|
-
# @param [Symbol, String] key value.
|
327
|
-
# @return [Boolean] true if specified key exists.
|
328
|
-
# @raise [MethodNotSupported] if calls on other node.
|
329
|
-
def key?(key)
|
330
|
-
if %i[hash hash_pattern].include?(type)
|
331
|
-
pairs.any? { |pair_node| pair_node.key.to_value == key }
|
332
|
-
else
|
333
|
-
raise MethodNotSupported, "key? is not supported for #{self}"
|
334
|
-
end
|
335
|
-
end
|
336
|
-
|
337
322
|
# Get :hash pair node according to specified key.
|
338
323
|
# @example
|
339
324
|
# node # s(:hash, s(:pair, s(:sym, :foo), s(:sym, :bar)))
|
@@ -422,20 +407,20 @@ module ParserNodeExt
|
|
422
407
|
return children.send(method_name, *args, &block)
|
423
408
|
elsif :hash == type && method_name.to_s.end_with?('_pair')
|
424
409
|
key = method_name.to_s[0..-6]
|
425
|
-
return hash_pair(key.to_sym) if
|
426
|
-
return hash_pair(key.to_s) if
|
410
|
+
return hash_pair(key.to_sym) if keys.map(&:to_value).include?(key.to_sym)
|
411
|
+
return hash_pair(key.to_s) if keys.map(&:to_value).include?(key.to_s)
|
427
412
|
|
428
413
|
return nil
|
429
414
|
elsif :hash == type && method_name.to_s.end_with?('_value')
|
430
415
|
key = method_name.to_s[0..-7]
|
431
|
-
return hash_value(key.to_sym) if
|
432
|
-
return hash_value(key.to_s) if
|
416
|
+
return hash_value(key.to_sym) if keys.map(&:to_value).include?(key.to_sym)
|
417
|
+
return hash_value(key.to_s) if keys.map(&:to_value).include?(key.to_s)
|
433
418
|
|
434
419
|
return nil
|
435
420
|
elsif :hash == type && method_name.to_s.end_with?('_source')
|
436
421
|
key = method_name.to_s[0..-8]
|
437
|
-
return hash_value(key.to_sym)&.to_source if
|
438
|
-
return hash_value(key.to_s)&.to_source if
|
422
|
+
return hash_value(key.to_sym)&.to_source if keys.map(&:to_value).include?(key.to_sym)
|
423
|
+
return hash_value(key.to_s)&.to_source if keys.map(&:to_value).include?(key.to_s)
|
439
424
|
|
440
425
|
return ''
|
441
426
|
end
|
@@ -448,13 +433,13 @@ module ParserNodeExt
|
|
448
433
|
return true
|
449
434
|
elsif :hash == type && method_name.to_s.end_with?('_pair')
|
450
435
|
key = method_name.to_s[0..-6]
|
451
|
-
return
|
436
|
+
return keys.map(&:to_value).include?(key.to_sym) || keys.map(&:to_value).include?(key.to_s)
|
452
437
|
elsif :hash == type && method_name.to_s.end_with?('_value')
|
453
438
|
key = method_name.to_s[0..-7]
|
454
|
-
return
|
439
|
+
return keys.map(&:to_value).include?(key.to_sym) || keys.map(&:to_value).include?(key.to_s)
|
455
440
|
elsif :hash == type && method_name.to_s.end_with?('_source')
|
456
441
|
key = method_name.to_s[0..-8]
|
457
|
-
return
|
442
|
+
return keys.map(&:to_value).include?(key.to_sym) || keys.map(&:to_value).include?(key.to_s)
|
458
443
|
end
|
459
444
|
|
460
445
|
super
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: parser_node_ext
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.3.
|
4
|
+
version: 1.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-
|
11
|
+
date: 2024-04-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: parser
|