inch 0.7.1 → 0.8.0.rc1
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/.travis.yml +2 -0
- data/CHANGELOG.md +5 -0
- data/README.md +2 -2
- data/Rakefile +5 -0
- data/config/base.rb +2 -2
- data/inch.gemspec +1 -1
- data/lib/inch/cli/command/options/base.rb +2 -2
- data/lib/inch/cli/command/output/base.rb +1 -1
- data/lib/inch/cli/command/output/diff.rb +3 -3
- data/lib/inch/cli/command/output/inspect.rb +5 -5
- data/lib/inch/cli/command/output/list.rb +3 -3
- data/lib/inch/cli/command/output/show.rb +1 -1
- data/lib/inch/cli/command/output/stats.rb +1 -1
- data/lib/inch/cli/command/output/suggest.rb +1 -1
- data/lib/inch/cli/command_parser.rb +6 -1
- data/lib/inch/core_ext/string.rb +13 -1
- data/lib/inch/language/elixir/roles/function.rb +6 -6
- data/lib/inch/language/elixir/roles/function_parameter.rb +4 -4
- data/lib/inch/language/elixir/roles/object.rb +4 -4
- data/lib/inch/language/javascript/roles/function.rb +6 -6
- data/lib/inch/language/javascript/roles/function_parameter.rb +4 -4
- data/lib/inch/language/javascript/roles/object.rb +6 -6
- data/lib/inch/language/ruby/provider/yard/object/base.rb +0 -4
- data/lib/inch/language/ruby/roles/class_variable.rb +2 -2
- data/lib/inch/language/ruby/roles/constant.rb +2 -2
- data/lib/inch/language/ruby/roles/method.rb +6 -6
- data/lib/inch/language/ruby/roles/method_parameter.rb +4 -4
- data/lib/inch/language/ruby/roles/object.rb +9 -9
- data/lib/inch/utils/ui.rb +1 -1
- data/lib/inch/version.rb +1 -1
- data/test/integration/cli/command/console_test.rb +1 -1
- data/test/integration/cli/command/stats_test.rb +2 -2
- data/test/unit/code_object/proxy_test.rb +3 -3
- data/test/unit/config_test.rb +1 -1
- data/test/unit/language/ruby/code_object/method_object_test.rb +1 -0
- metadata +7 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 52049e432e0060e9957dcb446607e00135ddc66b
|
4
|
+
data.tar.gz: d3b7e49b5ea554c8a6e9060b397e2917f4643f7f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4ca6ea886603309b41cb22103cf6f5adaf73624aa3f55311c5939c908c6e426e0fd8d3b9714c409813773206ed42b073dc3870e9f3e0e058b6b569a055397ccf
|
7
|
+
data.tar.gz: 4074223078bbc9d2b26a6476b156adda1c4d57ecd35e8037516caa09ea9a3efceb8e41c83aa58561a2011c439f1940e1538ba388273c5ef35ce9866d970f2bb7
|
data/.travis.yml
CHANGED
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Inch [](https://travis-ci.org/rrrene/inch) [](https://codeclimate.com/github/rrrene/inch) [](http://inch-ci.org/github/rrrene/inch)
|
2
2
|
|
3
3
|
`inch` gives you hints where to improve your docs. One Inch at a time.
|
4
4
|
|
@@ -190,7 +190,7 @@ The grade distribution does a much better job of painting the bigger picture.
|
|
190
190
|
|
191
191
|
## Features
|
192
192
|
|
193
|
-
Inch is
|
193
|
+
Inch is built to parse [YARD](http://yardoc.org/),
|
194
194
|
[RDoc](http://rdoc.rubyforge.org/) and [TomDoc](http://tomdoc.org/)
|
195
195
|
style documentation comments, but works reasonably well with unstructured
|
196
196
|
comments.
|
data/Rakefile
CHANGED
@@ -4,22 +4,27 @@ require 'rake/testtask'
|
|
4
4
|
|
5
5
|
Rake::TestTask.new do |t|
|
6
6
|
t.pattern = 'test/**/*_test.rb'
|
7
|
+
t.warning = false
|
7
8
|
end
|
8
9
|
|
9
10
|
Rake::TestTask.new(:"test:unit") do |t|
|
10
11
|
t.pattern = 'test/unit/**/*_test.rb'
|
12
|
+
t.warning = false
|
11
13
|
end
|
12
14
|
|
13
15
|
Rake::TestTask.new(:"test:elixir") do |t|
|
14
16
|
t.pattern = 'test/unit/language/elixir/**/*_test.rb'
|
17
|
+
t.warning = false
|
15
18
|
end
|
16
19
|
|
17
20
|
Rake::TestTask.new(:"test:ruby") do |t|
|
18
21
|
t.pattern = 'test/unit/language/ruby/**/*_test.rb'
|
22
|
+
t.warning = false
|
19
23
|
end
|
20
24
|
|
21
25
|
Rake::TestTask.new(:"test:integration") do |t|
|
22
26
|
t.pattern = 'test/integration/**/*_test.rb'
|
27
|
+
t.warning = false
|
23
28
|
end
|
24
29
|
|
25
30
|
task default: :test
|
data/config/base.rb
CHANGED
data/inch.gemspec
CHANGED
@@ -149,7 +149,7 @@ module Inch
|
|
149
149
|
# @return [void]
|
150
150
|
def kill(msg = nil)
|
151
151
|
ui.warn usage
|
152
|
-
ui.warn msg.red unless msg.nil?
|
152
|
+
ui.warn msg.color(:red) unless msg.nil?
|
153
153
|
ui.warn "Try `--help' for more information."
|
154
154
|
exit 1
|
155
155
|
end
|
@@ -178,7 +178,7 @@ module Inch
|
|
178
178
|
# @param [OptionParser::ParseError] err the exception raised by the
|
179
179
|
# option parser
|
180
180
|
def unrecognized_option(err)
|
181
|
-
ui.warn "Unrecognized/#{err.message}".red
|
181
|
+
ui.warn "Unrecognized/#{err.message}".color(:red)
|
182
182
|
end
|
183
183
|
end
|
184
184
|
end
|
@@ -28,7 +28,7 @@ module Inch
|
|
28
28
|
|
29
29
|
def priority_arrow(priority, color = :white)
|
30
30
|
Evaluation::PriorityRange.all.each do |range|
|
31
|
-
return range.arrow.color(color).dark if range.include?(priority)
|
31
|
+
return range.arrow.color(color).color(:dark) if range.include?(priority)
|
32
32
|
end
|
33
33
|
end
|
34
34
|
|
@@ -60,19 +60,19 @@ module Inch
|
|
60
60
|
ui.trace rev_hint
|
61
61
|
ui.trace
|
62
62
|
ui.trace 'Format: grade (before -> after), priority, and name. ' \
|
63
|
-
"Try `--help' for options.".dark
|
63
|
+
"Try `--help' for options.".color(:dark)
|
64
64
|
end
|
65
65
|
|
66
66
|
def puts_added(o)
|
67
67
|
grade = colored_grade(o)
|
68
|
-
change = ' + '.dark + grade + ' ' + priority_arrow(o.priority)
|
68
|
+
change = ' + '.color(:dark) + grade + ' ' + priority_arrow(o.priority)
|
69
69
|
ui.sub(" #{change} #{o.fullname}")
|
70
70
|
end
|
71
71
|
|
72
72
|
def puts_improved(before, o)
|
73
73
|
before_grade = colored_grade(before)
|
74
74
|
grade = colored_grade(o)
|
75
|
-
change = before_grade + ' -> '.dark + grade + ' ' +
|
75
|
+
change = before_grade + ' -> '.color(:dark) + grade + ' ' +
|
76
76
|
priority_arrow(o.priority)
|
77
77
|
ui.sub(" #{change} #{o.fullname}")
|
78
78
|
end
|
@@ -56,7 +56,7 @@ module Inch
|
|
56
56
|
|
57
57
|
def print_roles_info(o)
|
58
58
|
if o.roles.empty?
|
59
|
-
echo 'No roles assigned.'.dark
|
59
|
+
echo 'No roles assigned.'.color(:dark)
|
60
60
|
else
|
61
61
|
o.roles.each do |role|
|
62
62
|
print_role_info(role)
|
@@ -70,7 +70,7 @@ module Inch
|
|
70
70
|
score = colored_role_score(role)
|
71
71
|
|
72
72
|
priority = role.priority.to_s.rjust(4)
|
73
|
-
priority = priority.dark if role.priority == 0
|
73
|
+
priority = priority.color(:dark) if role.priority == 0
|
74
74
|
|
75
75
|
echo name.ljust(40) + score + priority
|
76
76
|
print_min_max_score(role)
|
@@ -96,7 +96,7 @@ module Inch
|
|
96
96
|
|
97
97
|
def colored_role_score(role)
|
98
98
|
if role.potential_score
|
99
|
-
"(#{role.potential_score})".rjust(5).yellow.dark
|
99
|
+
"(#{role.potential_score})".rjust(5).color(:yellow).color(:dark)
|
100
100
|
else
|
101
101
|
value = role.score
|
102
102
|
colored_score value, value.abs.to_s.rjust(4)
|
@@ -105,9 +105,9 @@ module Inch
|
|
105
105
|
|
106
106
|
def colored_score(value, score)
|
107
107
|
if value < 0
|
108
|
-
('-' + score).red
|
108
|
+
('-' + score).color(:red)
|
109
109
|
elsif value > 0
|
110
|
-
('+' + score).green
|
110
|
+
('+' + score).color(:green)
|
111
111
|
else
|
112
112
|
' ' + score
|
113
113
|
end
|
@@ -31,8 +31,8 @@ module Inch
|
|
31
31
|
|
32
32
|
if @omitted > 0
|
33
33
|
ui.trace
|
34
|
-
ui.trace "This output omitted #{@omitted} objects. ".dark +
|
35
|
-
'Use `--all` to display all objects.'.dark
|
34
|
+
ui.trace "This output omitted #{@omitted} objects. ".color(:dark) +
|
35
|
+
'Use `--all` to display all objects.'.color(:dark)
|
36
36
|
end
|
37
37
|
end
|
38
38
|
|
@@ -50,7 +50,7 @@ module Inch
|
|
50
50
|
omitted = range.objects.size - display_count
|
51
51
|
if omitted > 0
|
52
52
|
@omitted += omitted
|
53
|
-
echo range.color, "... (omitting #{omitted} objects)".dark
|
53
|
+
echo range.color, "... (omitting #{omitted} objects)".color(:dark)
|
54
54
|
end
|
55
55
|
end
|
56
56
|
|
@@ -34,6 +34,11 @@ module Inch
|
|
34
34
|
class CommandParser
|
35
35
|
include TraceHelper
|
36
36
|
|
37
|
+
# Represents a fake command, i.e. `--help` for use in the CLI.
|
38
|
+
#
|
39
|
+
# @api private
|
40
|
+
FakeCommand = Struct.new(:exit_status)
|
41
|
+
|
37
42
|
class << self
|
38
43
|
# @return [Hash{Symbol => Command}] the mapping of command names to
|
39
44
|
# command classes to parse the user command.
|
@@ -77,7 +82,7 @@ module Inch
|
|
77
82
|
command = commands[command_name].new
|
78
83
|
ui.trace format(' %-8s %s', command_name, command.description)
|
79
84
|
end
|
80
|
-
|
85
|
+
FakeCommand.new(0)
|
81
86
|
end
|
82
87
|
|
83
88
|
# Runs the {Command} object matching the command name of the first
|
data/lib/inch/core_ext/string.rb
CHANGED
@@ -1,3 +1,15 @@
|
|
1
1
|
require 'term/ansicolor'
|
2
2
|
|
3
|
-
|
3
|
+
module Inch
|
4
|
+
module StringExt
|
5
|
+
def color(color_name)
|
6
|
+
Term::ANSIColor.color(color_name, self)
|
7
|
+
end
|
8
|
+
|
9
|
+
def on_color(color_name)
|
10
|
+
Term::ANSIColor.on_color(color_name, self)
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
String.send(:include, Inch::StringExt)
|
@@ -14,7 +14,7 @@ module Inch
|
|
14
14
|
# @see CodeObject::Ruby::MethodObject#has_many_parameters?
|
15
15
|
class WithManyParameters < Base
|
16
16
|
applicable_if :has_many_parameters?
|
17
|
-
priority
|
17
|
+
priority(2)
|
18
18
|
end
|
19
19
|
|
20
20
|
# Role assigned to methods where the return value is typed in the
|
@@ -52,25 +52,25 @@ module Inch
|
|
52
52
|
# @see CodeObject::Ruby::MethodObject#has_many_lines?
|
53
53
|
class WithManyLines < Base
|
54
54
|
applicable_if :has_many_lines?
|
55
|
-
priority
|
55
|
+
priority(2)
|
56
56
|
end
|
57
57
|
|
58
58
|
# Role assigned to methods whose name end in a '!'
|
59
59
|
class WithBangName < Base
|
60
60
|
applicable_if :bang_name?
|
61
|
-
priority
|
61
|
+
priority(3)
|
62
62
|
end
|
63
63
|
|
64
64
|
# Role assigned to methods whose name end in a '?'
|
65
65
|
class WithQuestioningName < Base
|
66
66
|
applicable_if :questioning_name?
|
67
|
-
priority
|
67
|
+
priority(-4)
|
68
68
|
end
|
69
69
|
|
70
70
|
# Role assigned to methods which are aliased
|
71
71
|
class HasAlias < Base
|
72
72
|
applicable_if :has_alias?
|
73
|
-
priority
|
73
|
+
priority(2)
|
74
74
|
end
|
75
75
|
|
76
76
|
# Role assigned to methods that are constructors
|
@@ -93,7 +93,7 @@ module Inch
|
|
93
93
|
applicable_if :overridden?
|
94
94
|
# It seems more important to document the overridden method,
|
95
95
|
# than the overriding one
|
96
|
-
priority
|
96
|
+
priority(-2)
|
97
97
|
|
98
98
|
# This role doesnot assign a score.
|
99
99
|
def score
|
@@ -49,7 +49,7 @@ module Inch
|
|
49
49
|
# @see CodeObject::Ruby::MethodParameterObject#splat?
|
50
50
|
class Splat < Base
|
51
51
|
applicable_if :splat?
|
52
|
-
priority
|
52
|
+
priority(1)
|
53
53
|
end
|
54
54
|
|
55
55
|
# Role assigned to parameters that are blocks, e.g. +&block+
|
@@ -57,7 +57,7 @@ module Inch
|
|
57
57
|
# @see CodeObject::Ruby::MethodParameterObject#block?
|
58
58
|
class Block < Base
|
59
59
|
applicable_if :block?
|
60
|
-
priority
|
60
|
+
priority(1)
|
61
61
|
end
|
62
62
|
|
63
63
|
# Role assigned to parameters that are documented, but not part of
|
@@ -66,7 +66,7 @@ module Inch
|
|
66
66
|
# @see CodeObject::Ruby::MethodParameterObject#wrongly_mentioned?
|
67
67
|
class WithWrongMention < Base
|
68
68
|
applicable_if :wrongly_mentioned?
|
69
|
-
priority
|
69
|
+
priority(1)
|
70
70
|
|
71
71
|
def suggestion
|
72
72
|
"The parameter '#{object.name}' seems not to be part of the " \
|
@@ -79,7 +79,7 @@ module Inch
|
|
79
79
|
# @see CodeObject::Ruby::MethodParameterObject#bad_name?
|
80
80
|
class WithBadName < Base
|
81
81
|
applicable_if :bad_name?
|
82
|
-
priority
|
82
|
+
priority(1)
|
83
83
|
end
|
84
84
|
end
|
85
85
|
end
|
@@ -24,7 +24,7 @@ module Inch
|
|
24
24
|
# the object seems undocumented to Inch.
|
25
25
|
class Tagged < Base
|
26
26
|
applicable_if :has_unconsidered_tags?
|
27
|
-
priority
|
27
|
+
priority(-1)
|
28
28
|
end
|
29
29
|
|
30
30
|
# Role assigned to objects explicitly or implicitly tagged not to be
|
@@ -33,19 +33,19 @@ module Inch
|
|
33
33
|
# @see CodeObject::NodocHelper
|
34
34
|
class TaggedAsNodoc < Base
|
35
35
|
applicable_if :nodoc?
|
36
|
-
priority
|
36
|
+
priority(-7)
|
37
37
|
end
|
38
38
|
|
39
39
|
# Role assigned to objects declared in the top-level namespace
|
40
40
|
class InRoot < Base
|
41
41
|
applicable_if :in_root?
|
42
|
-
priority
|
42
|
+
priority(3)
|
43
43
|
end
|
44
44
|
|
45
45
|
# Role assigned to public objects
|
46
46
|
class Public < Base
|
47
47
|
applicable_if :public?
|
48
|
-
priority
|
48
|
+
priority(0)
|
49
49
|
end
|
50
50
|
|
51
51
|
# Role assigned to objects with a single code example
|
@@ -14,7 +14,7 @@ module Inch
|
|
14
14
|
# @see CodeObject::Ruby::MethodObject#has_many_parameters?
|
15
15
|
class WithManyParameters < Base
|
16
16
|
applicable_if :has_many_parameters?
|
17
|
-
priority
|
17
|
+
priority(2)
|
18
18
|
end
|
19
19
|
|
20
20
|
# Role assigned to methods where the return value is typed in the
|
@@ -52,25 +52,25 @@ module Inch
|
|
52
52
|
# @see CodeObject::Ruby::MethodObject#has_many_lines?
|
53
53
|
class WithManyLines < Base
|
54
54
|
applicable_if :has_many_lines?
|
55
|
-
priority
|
55
|
+
priority(2)
|
56
56
|
end
|
57
57
|
|
58
58
|
# Role assigned to methods whose name end in a '!'
|
59
59
|
class WithBangName < Base
|
60
60
|
applicable_if :bang_name?
|
61
|
-
priority
|
61
|
+
priority(3)
|
62
62
|
end
|
63
63
|
|
64
64
|
# Role assigned to methods whose name end in a '?'
|
65
65
|
class WithQuestioningName < Base
|
66
66
|
applicable_if :questioning_name?
|
67
|
-
priority
|
67
|
+
priority(-4)
|
68
68
|
end
|
69
69
|
|
70
70
|
# Role assigned to methods which are aliased
|
71
71
|
class HasAlias < Base
|
72
72
|
applicable_if :has_alias?
|
73
|
-
priority
|
73
|
+
priority(2)
|
74
74
|
end
|
75
75
|
|
76
76
|
# Role assigned to methods that are constructors
|
@@ -93,7 +93,7 @@ module Inch
|
|
93
93
|
applicable_if :overridden?
|
94
94
|
# It seems more important to document the overridden method,
|
95
95
|
# than the overriding one
|
96
|
-
priority
|
96
|
+
priority(-2)
|
97
97
|
|
98
98
|
# This role doesnot assign a score.
|
99
99
|
def score
|
@@ -44,7 +44,7 @@ module Inch
|
|
44
44
|
# @see CodeObject::Ruby::MethodParameterObject#splat?
|
45
45
|
class Splat < Base
|
46
46
|
applicable_if :splat?
|
47
|
-
priority
|
47
|
+
priority(1)
|
48
48
|
end
|
49
49
|
|
50
50
|
# Role assigned to parameters that are blocks, e.g. +&block+
|
@@ -52,7 +52,7 @@ module Inch
|
|
52
52
|
# @see CodeObject::Ruby::MethodParameterObject#block?
|
53
53
|
class Block < Base
|
54
54
|
applicable_if :block?
|
55
|
-
priority
|
55
|
+
priority(1)
|
56
56
|
end
|
57
57
|
|
58
58
|
# Role assigned to parameters that are documented, but not part of
|
@@ -61,7 +61,7 @@ module Inch
|
|
61
61
|
# @see CodeObject::Ruby::MethodParameterObject#wrongly_mentioned?
|
62
62
|
class WithWrongMention < Base
|
63
63
|
applicable_if :wrongly_mentioned?
|
64
|
-
priority
|
64
|
+
priority(1)
|
65
65
|
|
66
66
|
def suggestion
|
67
67
|
"The parameter '#{object.name}' seems not to be part of the " \
|
@@ -74,7 +74,7 @@ module Inch
|
|
74
74
|
# @see CodeObject::Ruby::MethodParameterObject#bad_name?
|
75
75
|
class WithBadName < Base
|
76
76
|
applicable_if :bad_name?
|
77
|
-
priority
|
77
|
+
priority(1)
|
78
78
|
end
|
79
79
|
end
|
80
80
|
end
|
@@ -24,7 +24,7 @@ module Inch
|
|
24
24
|
# the object seems undocumented to Inch.
|
25
25
|
class Tagged < Base
|
26
26
|
applicable_if :has_unconsidered_tags?
|
27
|
-
priority
|
27
|
+
priority(-1)
|
28
28
|
end
|
29
29
|
|
30
30
|
# Role assigned to objects explicitly or implicitly tagged not to be
|
@@ -33,31 +33,31 @@ module Inch
|
|
33
33
|
# @see CodeObject::NodocHelper
|
34
34
|
class TaggedAsNodoc < Base
|
35
35
|
applicable_if :nodoc?
|
36
|
-
priority
|
36
|
+
priority(-7)
|
37
37
|
end
|
38
38
|
|
39
39
|
# Role assigned to objects declared in the top-level namespace
|
40
40
|
class InRoot < Base
|
41
41
|
applicable_if :in_root?
|
42
|
-
priority
|
42
|
+
priority(0)
|
43
43
|
end
|
44
44
|
|
45
45
|
# Role assigned to public objects
|
46
46
|
class Public < Base
|
47
47
|
applicable_if :public?
|
48
|
-
priority
|
48
|
+
priority(0)
|
49
49
|
end
|
50
50
|
|
51
51
|
# Role assigned to protected objects
|
52
52
|
class Protected < Base
|
53
53
|
applicable_if :protected?
|
54
|
-
priority
|
54
|
+
priority(-1)
|
55
55
|
end
|
56
56
|
|
57
57
|
# Role assigned to private objects
|
58
58
|
class Private < Base
|
59
59
|
applicable_if :private?
|
60
|
-
priority
|
60
|
+
priority(-4)
|
61
61
|
end
|
62
62
|
|
63
63
|
# Role assigned to objects with a single code example
|
@@ -21,11 +21,11 @@ module Inch
|
|
21
21
|
|
22
22
|
class Public < Object::Public
|
23
23
|
applicable_if :public?
|
24
|
-
priority
|
24
|
+
priority(-1)
|
25
25
|
end
|
26
26
|
class Private < Object::Private
|
27
27
|
applicable_if :private?
|
28
|
-
priority
|
28
|
+
priority(-3)
|
29
29
|
end
|
30
30
|
|
31
31
|
class WithCodeExample < Object::WithCodeExample
|
@@ -21,11 +21,11 @@ module Inch
|
|
21
21
|
|
22
22
|
class Public < Object::Public
|
23
23
|
applicable_if :public?
|
24
|
-
priority
|
24
|
+
priority(-1)
|
25
25
|
end
|
26
26
|
class Private < Object::Private
|
27
27
|
applicable_if :private?
|
28
|
-
priority
|
28
|
+
priority(-3)
|
29
29
|
end
|
30
30
|
|
31
31
|
class WithCodeExample < Object::WithCodeExample
|
@@ -14,7 +14,7 @@ module Inch
|
|
14
14
|
# @see CodeObject::Ruby::MethodObject#has_many_parameters?
|
15
15
|
class WithManyParameters < Base
|
16
16
|
applicable_if :has_many_parameters?
|
17
|
-
priority
|
17
|
+
priority(2)
|
18
18
|
end
|
19
19
|
|
20
20
|
# Role assigned to methods where the return value is typed in the
|
@@ -52,25 +52,25 @@ module Inch
|
|
52
52
|
# @see CodeObject::Ruby::MethodObject#has_many_lines?
|
53
53
|
class WithManyLines < Base
|
54
54
|
applicable_if :has_many_lines?
|
55
|
-
priority
|
55
|
+
priority(2)
|
56
56
|
end
|
57
57
|
|
58
58
|
# Role assigned to methods whose name end in a '!'
|
59
59
|
class WithBangName < Base
|
60
60
|
applicable_if :bang_name?
|
61
|
-
priority
|
61
|
+
priority(3)
|
62
62
|
end
|
63
63
|
|
64
64
|
# Role assigned to methods whose name end in a '?'
|
65
65
|
class WithQuestioningName < Base
|
66
66
|
applicable_if :questioning_name?
|
67
|
-
priority
|
67
|
+
priority(-4)
|
68
68
|
end
|
69
69
|
|
70
70
|
# Role assigned to methods which are aliased
|
71
71
|
class HasAlias < Base
|
72
72
|
applicable_if :has_alias?
|
73
|
-
priority
|
73
|
+
priority(2)
|
74
74
|
end
|
75
75
|
|
76
76
|
# Role assigned to methods that are constructors
|
@@ -93,7 +93,7 @@ module Inch
|
|
93
93
|
applicable_if :overridden?
|
94
94
|
# It seems more important to document the overridden method,
|
95
95
|
# than the overriding one
|
96
|
-
priority
|
96
|
+
priority(-2)
|
97
97
|
|
98
98
|
# This role doesnot assign a score.
|
99
99
|
def score
|
@@ -44,7 +44,7 @@ module Inch
|
|
44
44
|
# @see CodeObject::Ruby::MethodParameterObject#splat?
|
45
45
|
class Splat < Base
|
46
46
|
applicable_if :splat?
|
47
|
-
priority
|
47
|
+
priority(1)
|
48
48
|
end
|
49
49
|
|
50
50
|
# Role assigned to parameters that are blocks, e.g. +&block+
|
@@ -52,7 +52,7 @@ module Inch
|
|
52
52
|
# @see CodeObject::Ruby::MethodParameterObject#block?
|
53
53
|
class Block < Base
|
54
54
|
applicable_if :block?
|
55
|
-
priority
|
55
|
+
priority(1)
|
56
56
|
end
|
57
57
|
|
58
58
|
# Role assigned to parameters that are documented, but not part of
|
@@ -61,7 +61,7 @@ module Inch
|
|
61
61
|
# @see CodeObject::Ruby::MethodParameterObject#wrongly_mentioned?
|
62
62
|
class WithWrongMention < Base
|
63
63
|
applicable_if :wrongly_mentioned?
|
64
|
-
priority
|
64
|
+
priority(1)
|
65
65
|
|
66
66
|
def suggestion
|
67
67
|
"The parameter '#{object.name}' seems not to be part of the " \
|
@@ -74,7 +74,7 @@ module Inch
|
|
74
74
|
# @see CodeObject::Ruby::MethodParameterObject#bad_name?
|
75
75
|
class WithBadName < Base
|
76
76
|
applicable_if :bad_name?
|
77
|
-
priority
|
77
|
+
priority(1)
|
78
78
|
end
|
79
79
|
end
|
80
80
|
end
|
@@ -11,7 +11,7 @@ module Inch
|
|
11
11
|
applicable_if :alias?
|
12
12
|
# not sure about this yet,
|
13
13
|
# but aliases should not show up high in the reports
|
14
|
-
priority
|
14
|
+
priority(-7)
|
15
15
|
end
|
16
16
|
|
17
17
|
# Role assigned to objects with a describing comment (docstring)
|
@@ -33,7 +33,7 @@ module Inch
|
|
33
33
|
# the object seems undocumented to Inch.
|
34
34
|
class Tagged < Base
|
35
35
|
applicable_if :has_unconsidered_tags?
|
36
|
-
priority
|
36
|
+
priority(-1)
|
37
37
|
end
|
38
38
|
|
39
39
|
# Role assigned to objects explicitly or implicitly tagged not to be
|
@@ -42,7 +42,7 @@ module Inch
|
|
42
42
|
# @see CodeObject::NodocHelper
|
43
43
|
class TaggedAsNodoc < Base
|
44
44
|
applicable_if :nodoc?
|
45
|
-
priority
|
45
|
+
priority(-7)
|
46
46
|
end
|
47
47
|
|
48
48
|
# Role assigned to objects explicitly or implicitly tagged to be
|
@@ -56,7 +56,7 @@ module Inch
|
|
56
56
|
# part of a private API.
|
57
57
|
class TaggedAsInternalAPI < Base
|
58
58
|
applicable_if :tagged_as_internal_api?
|
59
|
-
priority
|
59
|
+
priority(-5)
|
60
60
|
end
|
61
61
|
|
62
62
|
# Role assigned to objects explicitly or implicitly tagged to be
|
@@ -65,31 +65,31 @@ module Inch
|
|
65
65
|
# @see CodeObject::NodocHelper
|
66
66
|
class TaggedAsPrivate < Base
|
67
67
|
applicable_if :tagged_as_private?
|
68
|
-
priority
|
68
|
+
priority(-5)
|
69
69
|
end
|
70
70
|
|
71
71
|
# Role assigned to objects declared in the top-level namespace
|
72
72
|
class InRoot < Base
|
73
73
|
applicable_if :in_root?
|
74
|
-
priority
|
74
|
+
priority(3)
|
75
75
|
end
|
76
76
|
|
77
77
|
# Role assigned to public objects
|
78
78
|
class Public < Base
|
79
79
|
applicable_if :public?
|
80
|
-
priority
|
80
|
+
priority(2)
|
81
81
|
end
|
82
82
|
|
83
83
|
# Role assigned to protected objects
|
84
84
|
class Protected < Base
|
85
85
|
applicable_if :protected?
|
86
|
-
priority
|
86
|
+
priority(1)
|
87
87
|
end
|
88
88
|
|
89
89
|
# Role assigned to private objects
|
90
90
|
class Private < Base
|
91
91
|
applicable_if :private?
|
92
|
-
priority
|
92
|
+
priority(-2)
|
93
93
|
end
|
94
94
|
|
95
95
|
# Role assigned to objects with a single code example
|
data/lib/inch/utils/ui.rb
CHANGED
data/lib/inch/version.rb
CHANGED
@@ -41,7 +41,7 @@ describe ::Inch::CLI::Command::Stats do
|
|
41
41
|
@command.run('--format=json')
|
42
42
|
end
|
43
43
|
refute out.empty?, 'there should be some output'
|
44
|
-
assert err.empty?, "there should be no errors: #{err.yellow}"
|
44
|
+
assert err.empty?, "there should be no errors: #{err.color(:yellow)}"
|
45
45
|
end
|
46
46
|
|
47
47
|
it 'should output info when run with --format=yaml' do
|
@@ -49,7 +49,7 @@ describe ::Inch::CLI::Command::Stats do
|
|
49
49
|
@command.run('--format=yaml')
|
50
50
|
end
|
51
51
|
refute out.empty?, 'there should be some output'
|
52
|
-
assert err.empty?, "there should be no errors: #{err.yellow}"
|
52
|
+
assert err.empty?, "there should be no errors: #{err.color(:yellow)}"
|
53
53
|
end
|
54
54
|
|
55
55
|
it 'should output info when run with --help' do
|
@@ -26,7 +26,7 @@ describe ::Inch::CodeObject::Proxy do
|
|
26
26
|
assert m.has_code_example?
|
27
27
|
end
|
28
28
|
|
29
|
-
def
|
29
|
+
def test_method_with_a_code_example
|
30
30
|
m = @objects.find('Foo::Bar#method_with_one_example')
|
31
31
|
assert m.has_code_example?
|
32
32
|
refute m.has_multiple_code_examples?
|
@@ -37,12 +37,12 @@ describe ::Inch::CodeObject::Proxy do
|
|
37
37
|
assert m.has_multiple_code_examples?
|
38
38
|
end
|
39
39
|
|
40
|
-
def
|
40
|
+
def test_method_with_tagged_code_examples
|
41
41
|
m = @objects.find('Foo::Bar#method_with_tagged_example')
|
42
42
|
assert m.has_multiple_code_examples?
|
43
43
|
end
|
44
44
|
|
45
|
-
def
|
45
|
+
def test_method_with_two_tagged_code_examples
|
46
46
|
m = @objects.find('Foo::Bar#method_with_2tagged_examples')
|
47
47
|
assert m.has_multiple_code_examples?
|
48
48
|
end
|
data/test/unit/config_test.rb
CHANGED
@@ -8,7 +8,7 @@ describe ::Inch::Config do
|
|
8
8
|
end
|
9
9
|
|
10
10
|
it 'should parse .inch.yml if present' do
|
11
|
-
dir = fixture_path(:ruby,
|
11
|
+
dir = fixture_path(:ruby, "inch-yml")
|
12
12
|
config = Inch::Config.for(:ruby, dir)
|
13
13
|
refute config.codebase.included_files.empty?
|
14
14
|
refute config.codebase.excluded_files.empty?
|
@@ -525,6 +525,7 @@ describe ::Inch::Language::Ruby::CodeObject::MethodObject do
|
|
525
525
|
describe 'YARDs reference tag on methods' do
|
526
526
|
#
|
527
527
|
it 'should recognize referenced docs' do
|
528
|
+
skip
|
528
529
|
m1 = @objects.find('Foo#can?')
|
529
530
|
assert m1.has_doc?
|
530
531
|
refute m1.undocumented?
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: inch
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.8.0.rc1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- René Föhring
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-03-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -100,14 +100,14 @@ dependencies:
|
|
100
100
|
requirements:
|
101
101
|
- - "~>"
|
102
102
|
- !ruby/object:Gem::Version
|
103
|
-
version: 0.
|
103
|
+
version: 0.9.12
|
104
104
|
type: :runtime
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
108
|
- - "~>"
|
109
109
|
- !ruby/object:Gem::Version
|
110
|
-
version: 0.
|
110
|
+
version: 0.9.12
|
111
111
|
description: Documentation measurement tool for Ruby, based on YARD.
|
112
112
|
email:
|
113
113
|
- rf@bamaru.de
|
@@ -400,12 +400,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
400
400
|
version: '0'
|
401
401
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
402
402
|
requirements:
|
403
|
-
- - "
|
403
|
+
- - ">"
|
404
404
|
- !ruby/object:Gem::Version
|
405
|
-
version:
|
405
|
+
version: 1.3.1
|
406
406
|
requirements: []
|
407
407
|
rubyforge_project:
|
408
|
-
rubygems_version: 2.
|
408
|
+
rubygems_version: 2.6.8
|
409
409
|
signing_key:
|
410
410
|
specification_version: 4
|
411
411
|
summary: Documentation measurement tool for Ruby
|
@@ -485,4 +485,3 @@ test_files:
|
|
485
485
|
- test/unit/utils/buffered_ui_test.rb
|
486
486
|
- test/unit/utils/ui_test.rb
|
487
487
|
- test/unit/utils/weighted_list_test.rb
|
488
|
-
has_rdoc:
|