parser_node_ext 1.3.0 → 1.3.1
Sign up to get free protection for your applications and to get access to all the features.
- 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
|