tree_haver 7.1.0 → 7.1.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cf1bf1765a708244c35c16995492530ff0fa295f994959eb00f994636e02dda3
4
- data.tar.gz: 2f916d90cbd240f272f5198ad3a6a98600ea9b645aa0b18d455cc12c007c57ae
3
+ metadata.gz: d38ccb2f105723076324150db5e1d46d08346d4ca120ab64601b6e14fb7a0828
4
+ data.tar.gz: 8c0314bdd8c6ec2304576267e154f183f82d1f6bbb36ca5e5988ec8c2ca86d55
5
5
  SHA512:
6
- metadata.gz: dcf33136bee4e5e18d920191fd5b1dcebffa6b49e690e9052cf3fc90a552c9bbb97b2a0d469c96f5611b77243674a8c7574b53b01c88edc8ca623f1a2b83c4b2
7
- data.tar.gz: e9cf492f691c5ba4b3f66f71e50f80e76224480a362ddfbdb77e6cc45c63ac3181fa4f53915ca817e1852ae83566393c7bf660c0312964c2c3030577437f4065
6
+ metadata.gz: 2a5f7c90fd563240599e97b79b7247fa2eb992ffed613049da9c6fd5505edf22b71cb4de7ce61f199972fd96bedd285a365868aa250b67fe1556488bdf79f208
7
+ data.tar.gz: 0fa468aab52793b331fee9e860b83206aaefc3ecaa124ede7e68cedff6d90d893c0a900022144a3c46fcbb441373cd4863536fe6faeb8ef39ed1fcecafbe4d1b
checksums.yaml.gz.sig CHANGED
Binary file
@@ -45,7 +45,7 @@ module TreeHaver
45
45
  end
46
46
  return false unless checker
47
47
 
48
- result = !!checker.call
48
+ result = checker.call ? true : false
49
49
  mutex.synchronize { availability_cache[key] = result }
50
50
  result
51
51
  rescue StandardError
@@ -457,11 +457,12 @@ module TreeHaver
457
457
  # If we have a pattern like "(rule1 | rule2)*", we can't determine
458
458
  # the type without looking at actual matches, but that causes recursion
459
459
  # So just return a generic type based on the pattern
460
- if /^\(.*\)\*$/.match?(str)
460
+ case str
461
+ when /^\(.*\)\*$/
461
462
  return 'repeat'
462
- elsif /^\(.*\)\?$/.match?(str)
463
+ when /^\(.*\)\?$/
463
464
  return 'optional'
464
- elsif /^.*\|.*$/.match?(str)
465
+ when /^.*\|.*$/
465
466
  return 'choice'
466
467
  end
467
468
 
@@ -473,7 +474,7 @@ module TreeHaver
473
474
 
474
475
  lines_before = @source[0...offset].count("\n")
475
476
  # Find the newline before this offset (or -1 if we're on line 0)
476
- line_start = (@source.rindex("\n", offset - 1) if offset > 0)
477
+ line_start = (@source.rindex("\n", offset - 1) if offset.positive?)
477
478
  line_start ||= -1
478
479
  column = offset - line_start - 1
479
480
  { row: lines_before, column: column }
@@ -741,7 +741,7 @@ module TreeHaver
741
741
  # @param index [Integer] child index
742
742
  # @return [Node, nil] child node or nil if index out of bounds
743
743
  def child(index)
744
- return if index >= child_count || index < 0
744
+ return if index >= child_count || index.negative?
745
745
 
746
746
  child_node = Native.ts_node_child(@val, index)
747
747
  Node.new(child_node)
@@ -886,7 +886,7 @@ module TreeHaver
886
886
  # @param index [Integer] named child index (0-based)
887
887
  # @return [Node, nil] named child or nil if index out of bounds
888
888
  def named_child(index)
889
- return if index < 0 || index >= named_child_count
889
+ return if index.negative? || index >= named_child_count
890
890
 
891
891
  child_node = Native.ts_node_named_child(@val, index)
892
892
  return if Native.ts_node_is_null(child_node)
@@ -492,7 +492,7 @@ module TreeHaver
492
492
  return { row: 0, column: 0 } if offset <= 0
493
493
 
494
494
  lines_before = @source[0...offset].count("\n")
495
- line_start = (@source.rindex("\n", offset - 1) if offset > 0)
495
+ line_start = (@source.rindex("\n", offset - 1) if offset.positive?)
496
496
  line_start ||= -1
497
497
  column = offset - line_start - 1
498
498
  { row: lines_before, column: column }
@@ -521,7 +521,7 @@ module TreeHaver
521
521
  when ::Parslet::Slice
522
522
  obj
523
523
  when Hash
524
- obj.values.each do |v|
524
+ obj.each_value do |v|
525
525
  result = find_first_slice(v)
526
526
  return result if result
527
527
  end
@@ -551,7 +551,7 @@ module TreeHaver
551
551
  # @param block [Proc] block to pass
552
552
  # @return [Object] result from the underlying node
553
553
  def method_missing(method_name, *args, **kwargs, &block)
554
- if inner_node&.respond_to?(method_name)
554
+ if inner_node.respond_to?(method_name)
555
555
  inner_node.public_send(method_name, *args, **kwargs, &block)
556
556
  else
557
557
  super
@@ -122,7 +122,7 @@ module TreeHaver
122
122
  return false unless parser
123
123
 
124
124
  tree = parser.parse(source)
125
- return false unless tree&.respond_to?(:root_node)
125
+ return false unless tree.respond_to?(:root_node)
126
126
 
127
127
  root = tree.root_node
128
128
  root && !node_has_error?(root)
@@ -213,7 +213,7 @@ module TreeHaver
213
213
  return unless other.respond_to?(:start_byte) && other.respond_to?(:end_byte)
214
214
 
215
215
  cmp = start_byte <=> other.start_byte
216
- return cmp unless cmp == 0
216
+ return cmp unless cmp.zero?
217
217
 
218
218
  end_byte <=> other.end_byte
219
219
  end
@@ -36,7 +36,7 @@ module TreeHaver
36
36
 
37
37
  def parse_with_citrus(source, grammar_module:)
38
38
  raw = grammar_module.parse(source)
39
- if raw&.respond_to?(:captures)
39
+ if raw.respond_to?(:captures)
40
40
  {
41
41
  ok: true,
42
42
  backend_ref: CITRUS_BACKEND,
@@ -6,6 +6,16 @@ module TreeHaver
6
6
  module RSpec
7
7
  module DependencyTags
8
8
  class << self
9
+ def configure_filters(config)
10
+ TreeHaver::BackendRegistry.registered_tags.each do |tag|
11
+ if TreeHaver::BackendRegistry.tag_available?(tag)
12
+ config.filter_run_excluding("not_#{tag}": true)
13
+ else
14
+ config.filter_run_excluding(tag => true)
15
+ end
16
+ end
17
+ end
18
+
9
19
  def available?(tag_name)
10
20
  TreeHaver::BackendRegistry.tag_available?(tag_name)
11
21
  end
@@ -30,13 +40,7 @@ end
30
40
 
31
41
  if defined?(::RSpec)
32
42
  ::RSpec.configure do |config|
33
- TreeHaver::BackendRegistry.registered_tags.each do |tag|
34
- if TreeHaver::BackendRegistry.tag_available?(tag)
35
- config.filter_run_excluding("not_#{tag}": true)
36
- else
37
- config.filter_run_excluding(tag => true)
38
- end
39
- end
43
+ TreeHaver::RSpec::DependencyTags.configure_filters(config)
40
44
 
41
45
  config.before(:suite) do
42
46
  next if ENV.fetch('TREE_HAVER_DEBUG', 'false').casecmp?('false')
@@ -4,7 +4,7 @@ module TreeHaver
4
4
  # Version namespace for this gem.
5
5
  module Version
6
6
  # Current gem version.
7
- VERSION = '7.1.0'
7
+ VERSION = '7.1.1'
8
8
  end
9
9
  # Current gem version exposed at the traditional constant location.
10
10
  VERSION = Version::VERSION # Traditional Constant Location
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tree_haver
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.1.0
4
+ version: 7.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter H. Boling
@@ -389,10 +389,10 @@ licenses:
389
389
  - PolyForm-Small-Business-1.0.0
390
390
  metadata:
391
391
  homepage_uri: https://structuredmerge.org
392
- source_code_uri: https://github.com/structuredmerge/structuredmerge-ruby/tree/v7.1.0
393
- changelog_uri: https://github.com/structuredmerge/structuredmerge-ruby/blob/v7.1.0/CHANGELOG.md
392
+ source_code_uri: https://github.com/structuredmerge/structuredmerge-ruby/tree/v7.1.1
393
+ changelog_uri: https://github.com/structuredmerge/structuredmerge-ruby/blob/v7.1.1/CHANGELOG.md
394
394
  bug_tracker_uri: https://github.com/structuredmerge/structuredmerge-ruby/issues
395
- documentation_uri: https://www.rubydoc.info/gems/tree_haver/7.1.0
395
+ documentation_uri: https://www.rubydoc.info/gems/tree_haver/7.1.1
396
396
  funding_uri: https://github.com/sponsors/pboling
397
397
  wiki_uri: https://github.com/structuredmerge/structuredmerge-ruby/wiki
398
398
  news_uri: https://www.railsbling.com/tags/tree_haver
metadata.gz.sig CHANGED
Binary file