rubocop-yard 1.1.0 → 1.2.0
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/CHANGELOG.md +2 -0
- data/lib/rubocop/cop/yard/meaningless_tag.rb +15 -0
- data/lib/rubocop/yard/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 449e11faef5dc981174c81ee97c4ce139c6129a66fe36e9f9620372ce382912e
|
|
4
|
+
data.tar.gz: 3f4560fca83dece9a2699f5148166dd60f02e64e47e7a9b3fc7856aecd87db90
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 6c96ee6d17d64f6009cb3458f8db1f993c2e91c45d7d4446c39b3a92948c12edf75721d1176fe2db68fce5374bcb901a38bed3f10805de8d2b5ae74b8a9c6fad
|
|
7
|
+
data.tar.gz: 3b7fe8c5915caf08361c7ea49e5e81084ec9e3e3513dbb8d688e933a09aca76f30aaa526bf5db4cd9ba990f1819693e4b20bcf5b4a1bd1669bda3bcd404db791
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
## [Unreleased]
|
|
2
2
|
|
|
3
|
+
* `YARD/MeaninglessTag`: Allow `@param` on `Struct.new`/`Data.define` constant assignments (https://github.com/ksss/rubocop-yard/issues/36)
|
|
4
|
+
|
|
3
5
|
## [1.1.0] - 2026-01-29
|
|
4
6
|
|
|
5
7
|
* Fix NoMethodError when method signature includes **nil by @ksss in https://github.com/ksss/rubocop-yard/pull/39
|
|
@@ -19,12 +19,26 @@ module RuboCop
|
|
|
19
19
|
#
|
|
20
20
|
# # good
|
|
21
21
|
# CONST = 1
|
|
22
|
+
#
|
|
23
|
+
# # good (Struct/Data constant assignments accept @param)
|
|
24
|
+
# # @param name [String]
|
|
25
|
+
# # @param age [Integer]
|
|
26
|
+
# Person = Struct.new(:name, :age, keyword_init: true)
|
|
22
27
|
class MeaninglessTag < Base
|
|
23
28
|
include YARD::Helper
|
|
24
29
|
include RangeHelp
|
|
25
30
|
include DocumentationComment
|
|
26
31
|
extend AutoCorrector
|
|
27
32
|
|
|
33
|
+
# @!method struct_or_data_definition?(node)
|
|
34
|
+
# @param node [RuboCop::AST::Node]
|
|
35
|
+
def_node_matcher :struct_or_data_definition?, <<~PATTERN
|
|
36
|
+
(casgn _ _ {
|
|
37
|
+
(block (send (const _ {:Struct :Data}) {:new :define} ...) ...)
|
|
38
|
+
(send (const _ {:Struct :Data}) {:new :define} ...)
|
|
39
|
+
})
|
|
40
|
+
PATTERN
|
|
41
|
+
|
|
28
42
|
def on_class(node)
|
|
29
43
|
check(node)
|
|
30
44
|
end
|
|
@@ -40,6 +54,7 @@ module RuboCop
|
|
|
40
54
|
|
|
41
55
|
docstring.tags.each do |tag|
|
|
42
56
|
next unless tag.tag_name == 'param' || tag.tag_name == 'option'
|
|
57
|
+
next if tag.tag_name == 'param' && struct_or_data_definition?(node)
|
|
43
58
|
|
|
44
59
|
comment = preceding_lines.find { |line| line.text.include?("@#{tag.tag_name}") }
|
|
45
60
|
next unless comment
|
data/lib/rubocop/yard/version.rb
CHANGED