rubocop-sorted_methods_by_call 1.2.1 → 1.2.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: a04b5916bbf8e91aa2792283ad7f15dc939907cb55e6fafec2f77e2cf966b6ff
4
- data.tar.gz: 4f1475d1b0a3a5233b7f15010ae850dab4e696be9b209782d41d44cd5f1b3318
3
+ metadata.gz: 8c568478adfa06fb12f3331475fb296afe821c668bc36b44ec0fbbef97a88a3c
4
+ data.tar.gz: e04ee937e49ac42aab10de68c5d1b799176e782b9c8c259689c22767e357001c
5
5
  SHA512:
6
- metadata.gz: 2bea6384c391d4a19a1cf83fb8ac9cb671d3325daeda8685d169c52ee8c1906e1f921b1da96a9ba128305b62bc99aaaf2d99567a8e5a9ea9aebd6630efb73383
7
- data.tar.gz: d3cb6250866427b62ca907a9a4c73f8f30c69e94e6d9f767f105851394abb12d8444ac1e691f83df32f05abd1c40d09bf9da272e66d4dc0a1167dba439dcd83b
6
+ metadata.gz: 22296f6fa5a386b21ee246cdcc6e1cf6f8746a2ec2c3b9c00a8caba4f6238a580649c6dbc3f3b6d0c9705d495fc8179d01f3fb8555f553adfac58ead4c57afc0
7
+ data.tar.gz: c4fd9dbe58f02fdec60db0475b934ea420ff17c8c0abe6e732d19a1a251e25f73af69c4b06ed4df9425d98357ebc0f90cfeb78ddc98bada6ea9c049f31e3253b
data/config/default.yml CHANGED
@@ -1,7 +1,7 @@
1
1
  SortedMethodsByCall/Waterfall:
2
2
  Description: "Enforces method ordering based on call relationships."
3
3
  Enabled: true
4
- VersionAdded: "1.2.1"
4
+ VersionAdded: "1.2.2"
5
5
  SafeAutoCorrect: false
6
6
  AllowedRecursion: true
7
7
  SkipCyclicSiblingEdges: false
@@ -453,24 +453,15 @@ module RuboCop
453
453
  ranges_by_name = defs.to_h { |d| [d.method_name, range_with_leading_comments(d)] }
454
454
  sorted_def_sources = sorted_names.map { |n| ranges_by_name.fetch(n).source }
455
455
 
456
- visibility_node = target_section[:visibility]
457
- visibility_source = visibility_node&.source.to_s
456
+ # IMPORTANT: only rewrite the contiguous def/defs block itself.
457
+ # Do NOT include the visibility line (private/protected/public) in the rewritten region,
458
+ # otherwise non-method statements between the visibility modifier and the first `def`
459
+ # (e.g., `helper_method :x`) can be deleted. See issue #10.
460
+ new_content = sorted_def_sources.join("\n\n")
458
461
 
459
- new_content =
460
- if visibility_source.empty?
461
- sorted_def_sources.join("\n\n")
462
- else
463
- "#{visibility_source}\n\n#{sorted_def_sources.join("\n\n")}"
464
- end
465
-
466
- section_begin =
467
- if visibility_node
468
- visibility_node.source_range.begin_pos
469
- else
470
- defs.map { |d| range_with_leading_comments(d).begin_pos }.min
471
- end
462
+ section_begin = defs.map { |d| ranges_by_name.fetch(d.method_name).begin_pos }.min
463
+ section_end = defs.map { |d| ranges_by_name.fetch(d.method_name).end_pos }.max
472
464
 
473
- section_end = target_section[:end_pos]
474
465
  region = range_between(section_begin, section_end)
475
466
  corrector.replace(region, new_content)
476
467
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module RuboCop
4
4
  module SortedMethodsByCall
5
- VERSION = '1.2.1'
5
+ VERSION = '1.2.2'
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubocop-sorted_methods_by_call
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.1
4
+ version: 1.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - unurgunite