yard-lint 0.2.1 → 1.0.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 +33 -1
- data/README.md +256 -1
- data/bin/yard-lint +24 -0
- data/lib/yard/lint/config.rb +35 -1
- data/lib/yard/lint/config_loader.rb +1 -1
- data/lib/yard/lint/result_builder.rb +10 -1
- data/lib/yard/lint/validators/base.rb +41 -12
- data/lib/yard/lint/validators/documentation/undocumented_boolean_methods/validator.rb +7 -6
- data/lib/yard/lint/validators/documentation/undocumented_method_arguments/validator.rb +4 -5
- data/lib/yard/lint/validators/documentation/undocumented_objects/config.rb +2 -1
- data/lib/yard/lint/validators/documentation/undocumented_objects/parser.rb +95 -5
- data/lib/yard/lint/validators/documentation/undocumented_objects/validator.rb +15 -11
- data/lib/yard/lint/validators/semantic/abstract_methods/validator.rb +4 -5
- data/lib/yard/lint/validators/tags/api_tags/validator.rb +4 -5
- data/lib/yard/lint/validators/tags/collection_type/config.rb +21 -0
- data/lib/yard/lint/validators/tags/collection_type/messages_builder.rb +44 -0
- data/lib/yard/lint/validators/tags/collection_type/parser.rb +49 -0
- data/lib/yard/lint/validators/tags/collection_type/result.rb +25 -0
- data/lib/yard/lint/validators/tags/collection_type/validator.rb +73 -0
- data/lib/yard/lint/validators/tags/collection_type.rb +14 -0
- data/lib/yard/lint/validators/tags/invalid_types/validator.rb +6 -6
- data/lib/yard/lint/validators/tags/meaningless_tag/config.rb +22 -0
- data/lib/yard/lint/validators/tags/meaningless_tag/messages_builder.rb +28 -0
- data/lib/yard/lint/validators/tags/meaningless_tag/parser.rb +53 -0
- data/lib/yard/lint/validators/tags/meaningless_tag/result.rb +26 -0
- data/lib/yard/lint/validators/tags/meaningless_tag/validator.rb +84 -0
- data/lib/yard/lint/validators/tags/meaningless_tag.rb +15 -0
- data/lib/yard/lint/validators/tags/option_tags/validator.rb +4 -5
- data/lib/yard/lint/validators/tags/order/validator.rb +4 -5
- data/lib/yard/lint/validators/tags/tag_type_position/config.rb +22 -0
- data/lib/yard/lint/validators/tags/tag_type_position/messages_builder.rb +38 -0
- data/lib/yard/lint/validators/tags/tag_type_position/parser.rb +51 -0
- data/lib/yard/lint/validators/tags/tag_type_position/result.rb +25 -0
- data/lib/yard/lint/validators/tags/tag_type_position/validator.rb +113 -0
- data/lib/yard/lint/validators/tags/tag_type_position.rb +14 -0
- data/lib/yard/lint/validators/tags/type_syntax/config.rb +21 -0
- data/lib/yard/lint/validators/tags/type_syntax/messages_builder.rb +27 -0
- data/lib/yard/lint/validators/tags/type_syntax/parser.rb +54 -0
- data/lib/yard/lint/validators/tags/type_syntax/result.rb +25 -0
- data/lib/yard/lint/validators/tags/type_syntax/validator.rb +76 -0
- data/lib/yard/lint/validators/tags/type_syntax.rb +14 -0
- data/lib/yard/lint/validators/warnings/duplicated_parameter_name/validator.rb +4 -5
- data/lib/yard/lint/validators/warnings/invalid_directive_format/validator.rb +4 -5
- data/lib/yard/lint/validators/warnings/invalid_tag_format/validator.rb +4 -5
- data/lib/yard/lint/validators/warnings/unknown_directive/validator.rb +4 -5
- data/lib/yard/lint/validators/warnings/unknown_parameter_name/parser.rb +4 -1
- data/lib/yard/lint/validators/warnings/unknown_parameter_name/validator.rb +4 -5
- data/lib/yard/lint/validators/warnings/unknown_tag/validator.rb +4 -5
- data/lib/yard/lint/version.rb +1 -1
- data/lib/yard/lint.rb +1 -0
- data/misc/logo.png +0 -0
- metadata +26 -1
|
@@ -11,15 +11,14 @@ module Yard
|
|
|
11
11
|
|
|
12
12
|
# Runs YARD stats command with proper settings on a given dir and files
|
|
13
13
|
# @param dir [String] dir where we should generate the temp docs
|
|
14
|
-
# @param
|
|
14
|
+
# @param file_list_path [String] path to temp file containing file paths (one per line)
|
|
15
15
|
# @return [Hash] shell command execution hash results
|
|
16
|
-
def yard_cmd(dir,
|
|
16
|
+
def yard_cmd(dir, file_list_path)
|
|
17
17
|
cmd = <<~CMD
|
|
18
|
-
yard stats \
|
|
18
|
+
cat #{Shellwords.escape(file_list_path)} | xargs yard stats \
|
|
19
19
|
#{shell_arguments} \
|
|
20
20
|
--compact \
|
|
21
|
-
-b #{Shellwords.escape(dir)}
|
|
22
|
-
#{escaped_file_names}
|
|
21
|
+
-b #{Shellwords.escape(dir)}
|
|
23
22
|
CMD
|
|
24
23
|
cmd = cmd.tr("\n", ' ')
|
|
25
24
|
|
|
@@ -11,15 +11,14 @@ module Yard
|
|
|
11
11
|
|
|
12
12
|
# Runs YARD stats command with proper settings on a given dir and files
|
|
13
13
|
# @param dir [String] dir where we should generate the temp docs
|
|
14
|
-
# @param
|
|
14
|
+
# @param file_list_path [String] path to temp file containing file paths (one per line)
|
|
15
15
|
# @return [Hash] shell command execution hash results
|
|
16
|
-
def yard_cmd(dir,
|
|
16
|
+
def yard_cmd(dir, file_list_path)
|
|
17
17
|
cmd = <<~CMD
|
|
18
|
-
yard stats \
|
|
18
|
+
cat #{Shellwords.escape(file_list_path)} | xargs yard stats \
|
|
19
19
|
#{shell_arguments} \
|
|
20
20
|
--compact \
|
|
21
|
-
-b #{Shellwords.escape(dir)}
|
|
22
|
-
#{escaped_file_names}
|
|
21
|
+
-b #{Shellwords.escape(dir)}
|
|
23
22
|
CMD
|
|
24
23
|
cmd = cmd.tr("\n", ' ')
|
|
25
24
|
|
|
@@ -11,15 +11,14 @@ module Yard
|
|
|
11
11
|
|
|
12
12
|
# Runs YARD stats command with proper settings on a given dir and files
|
|
13
13
|
# @param dir [String] dir where we should generate the temp docs
|
|
14
|
-
# @param
|
|
14
|
+
# @param file_list_path [String] path to temp file containing file paths (one per line)
|
|
15
15
|
# @return [Hash] shell command execution hash results
|
|
16
|
-
def yard_cmd(dir,
|
|
16
|
+
def yard_cmd(dir, file_list_path)
|
|
17
17
|
cmd = <<~CMD
|
|
18
|
-
yard stats \
|
|
18
|
+
cat #{Shellwords.escape(file_list_path)} | xargs yard stats \
|
|
19
19
|
#{shell_arguments} \
|
|
20
20
|
--compact \
|
|
21
|
-
-b #{Shellwords.escape(dir)}
|
|
22
|
-
#{escaped_file_names}
|
|
21
|
+
-b #{Shellwords.escape(dir)}
|
|
23
22
|
CMD
|
|
24
23
|
cmd = cmd.tr("\n", ' ')
|
|
25
24
|
|
|
@@ -8,10 +8,13 @@ module Yard
|
|
|
8
8
|
# Parser for UnknownParameterName warnings
|
|
9
9
|
class Parser < ::Yard::Lint::Parsers::TwoLineBase
|
|
10
10
|
# Set of regexps for detecting warnings reported by YARD stats
|
|
11
|
+
# YARD output format:
|
|
12
|
+
# [warn]: @param tag has unknown parameter name: ...
|
|
13
|
+
# in file `filename.rb' near line 8
|
|
11
14
|
self.regexps = {
|
|
12
15
|
general: /^\[warn\]: @param tag has unknown parameter name/,
|
|
13
16
|
message: /\[warn\]: (.*)$/,
|
|
14
|
-
location: /in file `(.*?)'
|
|
17
|
+
location: /in file `(.*?)'\s*near/,
|
|
15
18
|
line: /near line (\d+)/
|
|
16
19
|
}.freeze
|
|
17
20
|
end
|
|
@@ -11,15 +11,14 @@ module Yard
|
|
|
11
11
|
|
|
12
12
|
# Runs YARD stats command with proper settings on a given dir and files
|
|
13
13
|
# @param dir [String] dir where we should generate the temp docs
|
|
14
|
-
# @param
|
|
14
|
+
# @param file_list_path [String] path to temp file containing file paths (one per line)
|
|
15
15
|
# @return [Hash] shell command execution hash results
|
|
16
|
-
def yard_cmd(dir,
|
|
16
|
+
def yard_cmd(dir, file_list_path)
|
|
17
17
|
cmd = <<~CMD
|
|
18
|
-
yard stats \
|
|
18
|
+
cat #{Shellwords.escape(file_list_path)} | xargs yard stats \
|
|
19
19
|
#{shell_arguments} \
|
|
20
20
|
--compact \
|
|
21
|
-
-b #{Shellwords.escape(dir)}
|
|
22
|
-
#{escaped_file_names}
|
|
21
|
+
-b #{Shellwords.escape(dir)}
|
|
23
22
|
CMD
|
|
24
23
|
cmd = cmd.tr("\n", ' ')
|
|
25
24
|
|
|
@@ -11,15 +11,14 @@ module Yard
|
|
|
11
11
|
|
|
12
12
|
# Runs YARD stats command with proper settings on a given dir and files
|
|
13
13
|
# @param dir [String] dir where we should generate the temp docs
|
|
14
|
-
# @param
|
|
14
|
+
# @param file_list_path [String] path to temp file containing file paths (one per line)
|
|
15
15
|
# @return [Hash] shell command execution hash results
|
|
16
|
-
def yard_cmd(dir,
|
|
16
|
+
def yard_cmd(dir, file_list_path)
|
|
17
17
|
cmd = <<~CMD
|
|
18
|
-
yard stats \
|
|
18
|
+
cat #{Shellwords.escape(file_list_path)} | xargs yard stats \
|
|
19
19
|
#{shell_arguments} \
|
|
20
20
|
--compact \
|
|
21
|
-
-b #{Shellwords.escape(dir)}
|
|
22
|
-
#{escaped_file_names}
|
|
21
|
+
-b #{Shellwords.escape(dir)}
|
|
23
22
|
CMD
|
|
24
23
|
cmd = cmd.tr("\n", ' ')
|
|
25
24
|
|
data/lib/yard/lint/version.rb
CHANGED
data/lib/yard/lint.rb
CHANGED
data/misc/logo.png
ADDED
|
Binary file
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: yard-lint
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 1.0.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Maciej Mensfeld
|
|
@@ -101,12 +101,24 @@ files:
|
|
|
101
101
|
- lib/yard/lint/validators/tags/api_tags/parser.rb
|
|
102
102
|
- lib/yard/lint/validators/tags/api_tags/result.rb
|
|
103
103
|
- lib/yard/lint/validators/tags/api_tags/validator.rb
|
|
104
|
+
- lib/yard/lint/validators/tags/collection_type.rb
|
|
105
|
+
- lib/yard/lint/validators/tags/collection_type/config.rb
|
|
106
|
+
- lib/yard/lint/validators/tags/collection_type/messages_builder.rb
|
|
107
|
+
- lib/yard/lint/validators/tags/collection_type/parser.rb
|
|
108
|
+
- lib/yard/lint/validators/tags/collection_type/result.rb
|
|
109
|
+
- lib/yard/lint/validators/tags/collection_type/validator.rb
|
|
104
110
|
- lib/yard/lint/validators/tags/invalid_types.rb
|
|
105
111
|
- lib/yard/lint/validators/tags/invalid_types/config.rb
|
|
106
112
|
- lib/yard/lint/validators/tags/invalid_types/messages_builder.rb
|
|
107
113
|
- lib/yard/lint/validators/tags/invalid_types/parser.rb
|
|
108
114
|
- lib/yard/lint/validators/tags/invalid_types/result.rb
|
|
109
115
|
- lib/yard/lint/validators/tags/invalid_types/validator.rb
|
|
116
|
+
- lib/yard/lint/validators/tags/meaningless_tag.rb
|
|
117
|
+
- lib/yard/lint/validators/tags/meaningless_tag/config.rb
|
|
118
|
+
- lib/yard/lint/validators/tags/meaningless_tag/messages_builder.rb
|
|
119
|
+
- lib/yard/lint/validators/tags/meaningless_tag/parser.rb
|
|
120
|
+
- lib/yard/lint/validators/tags/meaningless_tag/result.rb
|
|
121
|
+
- lib/yard/lint/validators/tags/meaningless_tag/validator.rb
|
|
110
122
|
- lib/yard/lint/validators/tags/option_tags.rb
|
|
111
123
|
- lib/yard/lint/validators/tags/option_tags/config.rb
|
|
112
124
|
- lib/yard/lint/validators/tags/option_tags/messages_builder.rb
|
|
@@ -119,6 +131,18 @@ files:
|
|
|
119
131
|
- lib/yard/lint/validators/tags/order/parser.rb
|
|
120
132
|
- lib/yard/lint/validators/tags/order/result.rb
|
|
121
133
|
- lib/yard/lint/validators/tags/order/validator.rb
|
|
134
|
+
- lib/yard/lint/validators/tags/tag_type_position.rb
|
|
135
|
+
- lib/yard/lint/validators/tags/tag_type_position/config.rb
|
|
136
|
+
- lib/yard/lint/validators/tags/tag_type_position/messages_builder.rb
|
|
137
|
+
- lib/yard/lint/validators/tags/tag_type_position/parser.rb
|
|
138
|
+
- lib/yard/lint/validators/tags/tag_type_position/result.rb
|
|
139
|
+
- lib/yard/lint/validators/tags/tag_type_position/validator.rb
|
|
140
|
+
- lib/yard/lint/validators/tags/type_syntax.rb
|
|
141
|
+
- lib/yard/lint/validators/tags/type_syntax/config.rb
|
|
142
|
+
- lib/yard/lint/validators/tags/type_syntax/messages_builder.rb
|
|
143
|
+
- lib/yard/lint/validators/tags/type_syntax/parser.rb
|
|
144
|
+
- lib/yard/lint/validators/tags/type_syntax/result.rb
|
|
145
|
+
- lib/yard/lint/validators/tags/type_syntax/validator.rb
|
|
122
146
|
- lib/yard/lint/validators/warnings/duplicated_parameter_name.rb
|
|
123
147
|
- lib/yard/lint/validators/warnings/duplicated_parameter_name/config.rb
|
|
124
148
|
- lib/yard/lint/validators/warnings/duplicated_parameter_name/parser.rb
|
|
@@ -150,6 +174,7 @@ files:
|
|
|
150
174
|
- lib/yard/lint/validators/warnings/unknown_tag/result.rb
|
|
151
175
|
- lib/yard/lint/validators/warnings/unknown_tag/validator.rb
|
|
152
176
|
- lib/yard/lint/version.rb
|
|
177
|
+
- misc/logo.png
|
|
153
178
|
- renovate.json
|
|
154
179
|
homepage: https://github.com/mensfeld/yard-lint
|
|
155
180
|
licenses:
|