tree_haver 7.1.0 → 7.1.2

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: 66365335bc3de59d69b390b00e9742ef56f9fd2f357072d4edd609c3bf46bf56
4
+ data.tar.gz: ac1d059ff7605f15a13a448032d5b1b45c07fdad623651d7deb202bb658ae1ec
5
5
  SHA512:
6
- metadata.gz: dcf33136bee4e5e18d920191fd5b1dcebffa6b49e690e9052cf3fc90a552c9bbb97b2a0d469c96f5611b77243674a8c7574b53b01c88edc8ca623f1a2b83c4b2
7
- data.tar.gz: e9cf492f691c5ba4b3f66f71e50f80e76224480a362ddfbdb77e6cc45c63ac3181fa4f53915ca817e1852ae83566393c7bf660c0312964c2c3030577437f4065
6
+ metadata.gz: d5738cfe168f5932ded26672254fd2328efb99b50ad9d68b73052fa6f913705e5fcf578591f2560bbd2796dfbdd6b2d985b8973f0589bd01e8c5f73d8902dc32
7
+ data.tar.gz: 8e8ea31d1542e5a283d3efdbcce9d7850608e4b6f24f41582668d532d827316207bf4764ed21e46ad6ebe00b9f57a4a4bd12337759bdcd0aa78b531b9b332d19
checksums.yaml.gz.sig CHANGED
Binary file
data/README.md CHANGED
@@ -370,7 +370,7 @@ tree-sitter is a powerful parser generator that creates incremental parsers for
370
370
 
371
371
  ### Compatibility
372
372
 
373
- Compatible with MRI Ruby 4.0.0+, and concordant releases of JRuby, and TruffleRuby.
373
+ Compatible with MRI Ruby 4.0.0+, JRuby, and TruffleRuby.
374
374
  CI workflows and Appraisals are generated for MRI Ruby 4.0.0+.
375
375
  This test floor is configured by `ruby.test_minimum` in `.kettle-jem.yml` and
376
376
  may be higher than the gem's runtime compatibility floor when legacy Rubies are
@@ -1777,27 +1777,13 @@ See [SECURITY.md][🔐security].
1777
1777
  ## 🤝 Contributing
1778
1778
 
1779
1779
  If you need some ideas of where to help, you could work on adding more code coverage,
1780
- or if it is already 💯 (see [below](#code-coverage)) check [issues][🤝gh-issues] or [PRs][🤝gh-pulls],
1780
+ or if it is already 💯 check [issues][🤝gh-issues] or [PRs][🤝gh-pulls],
1781
1781
  or use the gem and think about how it could be better.
1782
1782
 
1783
1783
  We [![Keep A Changelog][📗keep-changelog-img]][📗keep-changelog] so if you make changes, remember to update it.
1784
1784
 
1785
1785
  See [CONTRIBUTING.md][🤝contributing] for more detailed instructions.
1786
1786
 
1787
- ### Code Coverage
1788
-
1789
- Run the test suite with coverage enabled:
1790
-
1791
- ```bash
1792
- bundle exec kettle-test
1793
- ```
1794
-
1795
- Inspect the generated report with:
1796
-
1797
- ```bash
1798
- kettle-soup-cover -d
1799
- ```
1800
-
1801
1787
  ## 📌 Versioning
1802
1788
 
1803
1789
  This library follows [![Semantic Versioning 2.0.0][📌semver-img]][📌semver] for its public API where practical.
@@ -1937,7 +1923,7 @@ If none of the available licenses suit your use case, please [contact us](mailto
1937
1923
  [📌gitmoji]: https://gitmoji.dev
1938
1924
  [📌gitmoji-img]: https://img.shields.io/badge/gitmoji_commits-%20%F0%9F%98%9C%20%F0%9F%98%8D-34495e.svg?style=flat-square
1939
1925
  [🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
1940
- [🧮kloc-img]: https://img.shields.io/badge/KLOC-5.053-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
1926
+ [🧮kloc-img]: https://img.shields.io/badge/KLOC-3.343-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
1941
1927
  [🔐security]: https://github.com/structuredmerge/structuredmerge-ruby/blob/main/SECURITY.md
1942
1928
  [🔐security-img]: https://img.shields.io/badge/security-policy-259D6C.svg?style=flat
1943
1929
  [📄copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
@@ -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.2'
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.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter H. Boling
@@ -111,20 +111,20 @@ dependencies:
111
111
  requirements:
112
112
  - - "~>"
113
113
  - !ruby/object:Gem::Version
114
- version: '2.5'
114
+ version: '3.0'
115
115
  - - ">="
116
116
  - !ruby/object:Gem::Version
117
- version: 2.5.17
117
+ version: 3.0.0
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - "~>"
123
123
  - !ruby/object:Gem::Version
124
- version: '2.5'
124
+ version: '3.0'
125
125
  - - ">="
126
126
  - !ruby/object:Gem::Version
127
- version: 2.5.17
127
+ version: 3.0.0
128
128
  - !ruby/object:Gem::Dependency
129
129
  name: bundler-audit
130
130
  requirement: !ruby/object:Gem::Requirement
@@ -202,7 +202,7 @@ dependencies:
202
202
  version: '3.2'
203
203
  - - ">="
204
204
  - !ruby/object:Gem::Version
205
- version: 3.2.0
205
+ version: 3.2.2
206
206
  type: :development
207
207
  prerelease: false
208
208
  version_requirements: !ruby/object:Gem::Requirement
@@ -212,7 +212,7 @@ dependencies:
212
212
  version: '3.2'
213
213
  - - ">="
214
214
  - !ruby/object:Gem::Version
215
- version: 3.2.0
215
+ version: 3.2.2
216
216
  - !ruby/object:Gem::Dependency
217
217
  name: kettle-test
218
218
  requirement: !ruby/object:Gem::Requirement
@@ -242,7 +242,7 @@ dependencies:
242
242
  version: '3.2'
243
243
  - - ">="
244
244
  - !ruby/object:Gem::Version
245
- version: 3.2.4
245
+ version: 3.2.5
246
246
  type: :development
247
247
  prerelease: false
248
248
  version_requirements: !ruby/object:Gem::Requirement
@@ -252,7 +252,7 @@ dependencies:
252
252
  version: '3.2'
253
253
  - - ">="
254
254
  - !ruby/object:Gem::Version
255
- version: 3.2.4
255
+ version: 3.2.5
256
256
  - !ruby/object:Gem::Dependency
257
257
  name: ruby-progressbar
258
258
  requirement: !ruby/object:Gem::Requirement
@@ -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.2
393
+ changelog_uri: https://github.com/structuredmerge/structuredmerge-ruby/blob/v7.1.2/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.2
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