rubocop-obsession 0.1.5 → 0.1.6
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/README.md +3 -0
- data/config/default.yml +0 -2
- data/lib/rubocop/cop/obsession/method_order.rb +8 -30
- data/lib/rubocop/obsession/version.rb +1 -1
- 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: 4b1e6edfacbf86e2ac264de49f2ac818af6ee693c6cabe9865894b556953e3ad
|
4
|
+
data.tar.gz: 9d523c4878734ef93c3b0052622ffe49e1a3913505963a91fe10327ddac17660
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: eed54a03536307d0bfdda7b43b8346306420d1037068921b238f67fbd938c276d84f5802f70ce42bc0a26f3d46f399a5db9e3864ac73adfc01e6e5911f8f5f83
|
7
|
+
data.tar.gz: bc7e712ec48bbe05f8419754a9b9d1f443973e154ca4525dc0712a3c0576be840b66c65e67c8a206a12a628af97d703c7b84d50a15951dc8446dc1bda5c5461e
|
data/README.md
CHANGED
@@ -9,6 +9,9 @@ There are some lower-level cops as well.
|
|
9
9
|
Use the provided cops as is, or as inspiration to build custom cops aligned
|
10
10
|
with your project's best practices.
|
11
11
|
|
12
|
+
Does your project have any cool custom cops that you think others might benefit
|
13
|
+
from? Then please open a PR!
|
14
|
+
|
12
15
|
## Installation
|
13
16
|
|
14
17
|
Install the gem:
|
data/config/default.yml
CHANGED
@@ -56,7 +56,7 @@ module RuboCop
|
|
56
56
|
# def method_c; ...; end
|
57
57
|
class MethodOrder < Base
|
58
58
|
include Helpers
|
59
|
-
include
|
59
|
+
include CommentsHelp
|
60
60
|
include VisibilityHelp
|
61
61
|
extend AutoCorrector
|
62
62
|
|
@@ -209,40 +209,18 @@ module RuboCop
|
|
209
209
|
|
210
210
|
def autocorrect(corrector, method, previous_method)
|
211
211
|
previous_method_range = source_range_with_comment(previous_method)
|
212
|
+
if buffer.source[previous_method_range.end_pos + 1] == "\n"
|
213
|
+
previous_method_range = previous_method_range.adjust(end_pos: 1)
|
214
|
+
end
|
215
|
+
|
212
216
|
method_range = source_range_with_comment(method)
|
217
|
+
if buffer.source[method_range.begin_pos - 1] == "\n"
|
218
|
+
method_range = method_range.adjust(end_pos: 1)
|
219
|
+
end
|
213
220
|
|
214
221
|
corrector.insert_after(previous_method_range, method_range.source)
|
215
222
|
corrector.remove(method_range)
|
216
223
|
end
|
217
|
-
|
218
|
-
def source_range_with_comment(node)
|
219
|
-
range_between(start_position_with_comment(node), end_position(node) + 1)
|
220
|
-
end
|
221
|
-
|
222
|
-
def start_position_with_comment(node)
|
223
|
-
first_comment = nil
|
224
|
-
|
225
|
-
(node.first_line - 1).downto(1) do |annotation_line|
|
226
|
-
comment = processed_source.comment_at_line(annotation_line)
|
227
|
-
break if !comment
|
228
|
-
first_comment = comment if whole_line_comment_at_line?(annotation_line)
|
229
|
-
end
|
230
|
-
|
231
|
-
start_line_position(first_comment || node)
|
232
|
-
end
|
233
|
-
|
234
|
-
def whole_line_comment_at_line?(line)
|
235
|
-
/\A\s*#/.match?(processed_source.lines[line - 1])
|
236
|
-
end
|
237
|
-
|
238
|
-
def start_line_position(node)
|
239
|
-
processed_source.buffer.line_range(node.loc.line).begin_pos - 1
|
240
|
-
end
|
241
|
-
|
242
|
-
def end_position(node)
|
243
|
-
end_line = processed_source.buffer.line_for_position(node.loc.expression.end_pos)
|
244
|
-
processed_source.buffer.line_range(end_line).end_pos
|
245
|
-
end
|
246
224
|
end
|
247
225
|
end
|
248
226
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rubocop-obsession
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jerome Dalbert
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-11-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|