inch 0.5.0.rc5 → 0.5.0.rc6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (166) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +0 -6
  3. data/.rubocop_todo.yml +40 -34
  4. data/Gemfile +3 -3
  5. data/Rakefile +10 -6
  6. data/bin/inch +5 -5
  7. data/config/base.rb +4 -4
  8. data/config/nodejs.rb +44 -1
  9. data/config/ruby.rb +1 -1
  10. data/inch.gemspec +17 -17
  11. data/lib/inch.rb +13 -13
  12. data/lib/inch/api.rb +10 -10
  13. data/lib/inch/api/compare.rb +2 -2
  14. data/lib/inch/api/compare/code_objects.rb +1 -1
  15. data/lib/inch/api/diff.rb +1 -1
  16. data/lib/inch/api/options/suggest.rb +1 -1
  17. data/lib/inch/api/suggest.rb +1 -1
  18. data/lib/inch/cli.rb +6 -6
  19. data/lib/inch/cli/command.rb +15 -15
  20. data/lib/inch/cli/command/base.rb +5 -3
  21. data/lib/inch/cli/command/base_list.rb +0 -1
  22. data/lib/inch/cli/command/console.rb +5 -5
  23. data/lib/inch/cli/command/diff.rb +6 -6
  24. data/lib/inch/cli/command/inspect.rb +5 -5
  25. data/lib/inch/cli/command/list.rb +4 -4
  26. data/lib/inch/cli/command/options/base.rb +17 -15
  27. data/lib/inch/cli/command/options/base_list.rb +17 -17
  28. data/lib/inch/cli/command/options/base_object.rb +1 -1
  29. data/lib/inch/cli/command/options/console.rb +13 -13
  30. data/lib/inch/cli/command/options/diff.rb +19 -19
  31. data/lib/inch/cli/command/options/inspect.rb +5 -5
  32. data/lib/inch/cli/command/options/list.rb +7 -7
  33. data/lib/inch/cli/command/options/show.rb +5 -5
  34. data/lib/inch/cli/command/options/stats.rb +2 -2
  35. data/lib/inch/cli/command/options/suggest.rb +12 -12
  36. data/lib/inch/cli/command/output/base.rb +1 -1
  37. data/lib/inch/cli/command/output/diff.rb +9 -9
  38. data/lib/inch/cli/command/output/inspect.rb +13 -13
  39. data/lib/inch/cli/command/output/list.rb +1 -1
  40. data/lib/inch/cli/command/output/show.rb +4 -4
  41. data/lib/inch/cli/command/output/stats.rb +14 -14
  42. data/lib/inch/cli/command/output/suggest.rb +14 -14
  43. data/lib/inch/cli/command/show.rb +4 -4
  44. data/lib/inch/cli/command/stats.rb +4 -4
  45. data/lib/inch/cli/command/suggest.rb +4 -4
  46. data/lib/inch/cli/command_parser.rb +4 -4
  47. data/lib/inch/cli/sparkline_helper.rb +1 -1
  48. data/lib/inch/cli/trace_helper.rb +1 -1
  49. data/lib/inch/cli/yardopts_helper.rb +1 -1
  50. data/lib/inch/code_object.rb +3 -3
  51. data/lib/inch/code_object/provider.rb +3 -3
  52. data/lib/inch/code_object/proxy.rb +3 -4
  53. data/lib/inch/codebase.rb +5 -5
  54. data/lib/inch/codebase/object.rb +2 -1
  55. data/lib/inch/codebase/serializer.rb +2 -2
  56. data/lib/inch/config.rb +6 -6
  57. data/lib/inch/config/codebase.rb +5 -5
  58. data/lib/inch/core_ext.rb +1 -1
  59. data/lib/inch/core_ext/string.rb +1 -1
  60. data/lib/inch/evaluation.rb +8 -8
  61. data/lib/inch/evaluation/proxy.rb +2 -3
  62. data/lib/inch/evaluation/role.rb +1 -1
  63. data/lib/inch/language/elixir/code_object/base.rb +6 -4
  64. data/lib/inch/language/elixir/evaluation/base.rb +2 -1
  65. data/lib/inch/language/elixir/evaluation/function_object.rb +1 -1
  66. data/lib/inch/language/elixir/import.rb +14 -14
  67. data/lib/inch/language/elixir/provider/reader.rb +1 -1
  68. data/lib/inch/language/elixir/provider/reader/docstring.rb +13 -0
  69. data/lib/inch/language/elixir/provider/reader/object.rb +5 -5
  70. data/lib/inch/language/elixir/provider/reader/object/base.rb +13 -5
  71. data/lib/inch/language/elixir/provider/reader/object/function_object.rb +1 -1
  72. data/lib/inch/language/elixir/provider/reader/parser.rb +21 -7
  73. data/lib/inch/language/elixir/roles/base.rb +3 -3
  74. data/lib/inch/language/elixir/roles/function.rb +2 -1
  75. data/lib/inch/language/elixir/roles/object.rb +1 -1
  76. data/lib/inch/language/nodejs/code_object/base.rb +199 -0
  77. data/lib/inch/language/nodejs/code_object/function_object.rb +74 -0
  78. data/lib/inch/language/nodejs/code_object/member_object.rb +11 -0
  79. data/lib/inch/language/nodejs/code_object/module_object.rb +23 -0
  80. data/lib/inch/language/nodejs/evaluation/base.rb +29 -0
  81. data/lib/inch/language/nodejs/evaluation/function_object.rb +31 -0
  82. data/lib/inch/language/nodejs/evaluation/member_object.rb +11 -0
  83. data/lib/inch/language/nodejs/evaluation/module_object.rb +27 -0
  84. data/lib/inch/language/nodejs/import.rb +17 -1
  85. data/lib/inch/language/nodejs/provider/jsdoc.rb +1 -1
  86. data/lib/inch/language/nodejs/provider/jsdoc/docstring.rb +13 -0
  87. data/lib/inch/language/nodejs/provider/jsdoc/object.rb +16 -8
  88. data/lib/inch/language/nodejs/provider/jsdoc/object/base.rb +82 -45
  89. data/lib/inch/language/nodejs/provider/jsdoc/object/function_object.rb +18 -0
  90. data/lib/inch/language/nodejs/provider/jsdoc/object/member_object.rb +15 -0
  91. data/lib/inch/language/nodejs/provider/jsdoc/object/module_object.rb +22 -0
  92. data/lib/inch/language/nodejs/provider/jsdoc/parser.rb +9 -10
  93. data/lib/inch/language/nodejs/roles/base.rb +32 -0
  94. data/lib/inch/language/nodejs/roles/function.rb +113 -0
  95. data/lib/inch/language/nodejs/roles/member.rb +13 -0
  96. data/lib/inch/language/nodejs/roles/module.rb +64 -0
  97. data/lib/inch/language/nodejs/roles/object.rb +76 -0
  98. data/lib/inch/language/ruby/code_object/base.rb +6 -4
  99. data/lib/inch/language/ruby/evaluation/base.rb +2 -1
  100. data/lib/inch/language/ruby/evaluation/method_object.rb +2 -1
  101. data/lib/inch/language/ruby/import.rb +24 -24
  102. data/lib/inch/language/ruby/provider/yard.rb +10 -10
  103. data/lib/inch/language/ruby/provider/yard/nodoc_helper.rb +2 -2
  104. data/lib/inch/language/ruby/provider/yard/object.rb +9 -9
  105. data/lib/inch/language/ruby/provider/yard/object/base.rb +25 -28
  106. data/lib/inch/language/ruby/provider/yard/object/method_object.rb +4 -3
  107. data/lib/inch/language/ruby/provider/yard/object/method_parameter_object.rb +4 -3
  108. data/lib/inch/language/ruby/provider/yard/object/method_signature.rb +2 -2
  109. data/lib/inch/language/ruby/provider/yard/object/namespace_object.rb +2 -1
  110. data/lib/inch/language/ruby/provider/yard/parser.rb +2 -2
  111. data/lib/inch/language/ruby/roles/base.rb +1 -1
  112. data/lib/inch/language/ruby/roles/method.rb +2 -1
  113. data/lib/inch/language/ruby/roles/method_parameter.rb +1 -1
  114. data/lib/inch/language/ruby/roles/missing.rb +2 -2
  115. data/lib/inch/language/ruby/roles/object.rb +6 -6
  116. data/lib/inch/rake.rb +2 -2
  117. data/lib/inch/rake/suggest.rb +5 -5
  118. data/lib/inch/utils/code_location.rb +12 -0
  119. data/lib/inch/utils/read_write_methods.rb +2 -2
  120. data/lib/inch/utils/ui.rb +8 -8
  121. data/lib/inch/version.rb +1 -1
  122. data/test/fixtures/elixir/simple/all.json +321 -0
  123. data/test/integration/api/compare/codebases.rb +6 -6
  124. data/test/integration/cli/command/console_test.rb +13 -13
  125. data/test/integration/cli/command/diff_test.rb +12 -14
  126. data/test/integration/cli/command/inspect_test.rb +30 -30
  127. data/test/integration/cli/command/list_test.rb +34 -34
  128. data/test/integration/cli/command/show_test.rb +26 -26
  129. data/test/integration/cli/command/stats_test.rb +23 -23
  130. data/test/integration/cli/command/suggest_test.rb +58 -49
  131. data/test/integration/stats_options_test.rb +9 -9
  132. data/test/integration/visibility_options_test.rb +49 -45
  133. data/test/shared/base_list.rb +41 -41
  134. data/test/test_helper.rb +18 -10
  135. data/test/unit/api/filter_test.rb +9 -9
  136. data/test/unit/api/get_test.rb +6 -6
  137. data/test/unit/api/list_test.rb +3 -3
  138. data/test/unit/api/options/base_test.rb +6 -6
  139. data/test/unit/api/stats_test.rb +3 -3
  140. data/test/unit/api/suggest_test.rb +4 -4
  141. data/test/unit/cli/arguments_test.rb +25 -25
  142. data/test/unit/cli/command/base_test.rb +3 -3
  143. data/test/unit/cli/command/options/base_list_test.rb +14 -14
  144. data/test/unit/cli/command/options/base_object_test.rb +6 -6
  145. data/test/unit/cli/command/options/base_test.rb +3 -3
  146. data/test/unit/cli/command_parser_test.rb +29 -29
  147. data/test/unit/cli/trace_helper_test.rb +2 -2
  148. data/test/unit/cli/yardopts_helper_test.rb +35 -35
  149. data/test/unit/code_object/converter_test.rb +3 -3
  150. data/test/unit/code_object/provider_test.rb +2 -2
  151. data/test/unit/code_object/proxy_test.rb +11 -11
  152. data/test/unit/codebase/objects_test.rb +8 -8
  153. data/test/unit/codebase/proxy_test.rb +5 -5
  154. data/test/unit/config/codebase_test.rb +3 -3
  155. data/test/unit/config_test.rb +4 -4
  156. data/test/unit/evaluation/role_test.rb +8 -8
  157. data/test/unit/language/elixir/code_object/function_object_test.rb +35 -0
  158. data/test/unit/language/ruby/code_object/method_object_test.rb +128 -126
  159. data/test/unit/language/ruby/provider/yard/docstring_test.rb +27 -23
  160. data/test/unit/language/ruby/provider/yard/nodoc_helper_test.rb +21 -20
  161. data/test/unit/language/ruby/provider/yard/object/method_object_test.rb +20 -17
  162. data/test/unit/language/ruby/provider/yard_test.rb +4 -4
  163. data/test/unit/utils/buffered_ui_test.rb +20 -20
  164. data/test/unit/utils/ui_test.rb +20 -20
  165. data/test/unit/utils/weighted_list_test.rb +7 -7
  166. metadata +25 -2
@@ -5,11 +5,11 @@ module Inch
5
5
  class Inspect < BaseObject
6
6
  def descriptions
7
7
  [
8
- "",
9
- "Example: " +
10
- "$ inch inspect lib/**/*.rb Foo::Bar#initialize".color(:cyan),
11
- "",
12
- "Shows one or more objects in detail."
8
+ '',
9
+ 'Example: ' +
10
+ '$ inch inspect lib/**/*.rb Foo::Bar#initialize'.color(:cyan),
11
+ '',
12
+ 'Shows one or more objects in detail.'
13
13
  ]
14
14
  end
15
15
 
@@ -7,12 +7,12 @@ module Inch
7
7
 
8
8
  def descriptions
9
9
  [
10
- "",
11
- "Lists objects that can be improved regarding their " \
12
- "documentation ordered by their grade.",
13
- "",
14
- "Example: " + "$ inch list lib/**/*.rb --all".color(:cyan),
15
- "",
10
+ '',
11
+ 'Lists objects that can be improved regarding their ' \
12
+ 'documentation ordered by their grade.',
13
+ '',
14
+ 'Example: ' + '$ inch list lib/**/*.rb --all'.color(:cyan),
15
+ '',
16
16
  description_hint_grades,
17
17
  description_hint_arrows
18
18
  ]
@@ -20,7 +20,7 @@ module Inch
20
20
 
21
21
  def list_options(opts)
22
22
  super
23
- opts.on("--numbers", "Show numbers instead of grades and arrows") do
23
+ opts.on('--numbers', 'Show numbers instead of grades and arrows') do
24
24
  @numbers = true
25
25
  end
26
26
  end
@@ -5,11 +5,11 @@ module Inch
5
5
  class Show < BaseObject
6
6
  def descriptions
7
7
  [
8
- "",
9
- "Example: " +
10
- "$ inch show lib/**/*.rb Foo::Bar#initialize".color(:cyan),
11
- "",
12
- "Shows one or more objects in detail.",
8
+ '',
9
+ 'Example: ' +
10
+ '$ inch show lib/**/*.rb Foo::Bar#initialize'.color(:cyan),
11
+ '',
12
+ 'Shows one or more objects in detail.',
13
13
  description_hint_grades,
14
14
  description_hint_arrows
15
15
  ]
@@ -9,8 +9,8 @@ module Inch
9
9
 
10
10
  def list_options(opts)
11
11
  super
12
- opts.on("-f", "--format [FORMAT]", FORMATS,
13
- "Set output FORMAT") do |format|
12
+ opts.on('-f', '--format [FORMAT]', FORMATS,
13
+ 'Set output FORMAT') do |format|
14
14
  @format = format
15
15
  end
16
16
  end
@@ -25,13 +25,13 @@ module Inch
25
25
 
26
26
  def descriptions
27
27
  [
28
- "",
29
- "Suggests objects and files that can be improved regarding " \
30
- "their documentation.",
31
- "",
32
- "Example: " +
33
- "$ inch suggest lib/**/*.rb --pedantic".color(:cyan),
34
- "",
28
+ '',
29
+ 'Suggests objects and files that can be improved regarding ' \
30
+ 'their documentation.',
31
+ '',
32
+ 'Example: ' +
33
+ '$ inch suggest lib/**/*.rb --pedantic'.color(:cyan),
34
+ '',
35
35
  description_hint_grades,
36
36
  description_hint_arrows
37
37
  ]
@@ -40,14 +40,14 @@ module Inch
40
40
  protected
41
41
 
42
42
  def suggest_options(opts)
43
- opts.separator ""
44
- opts.separator "Suggest options:"
43
+ opts.separator ''
44
+ opts.separator 'Suggest options:'
45
45
 
46
- opts.on("-n", "--objects [COUNT]", "Show COUNT objects") do |count|
46
+ opts.on('-n', '--objects [COUNT]', 'Show COUNT objects') do |count|
47
47
  @object_count = count.to_i
48
48
  end
49
- opts.on("--pedantic",
50
- "Be excessively concerned with minor details and rules") do
49
+ opts.on('--pedantic',
50
+ 'Be excessively concerned with minor details and rules') do
51
51
  # all objects are considered a priority
52
52
  @object_min_priority = -99
53
53
  # only objects with the highest score are omitted from the list
@@ -1,4 +1,4 @@
1
- require "optparse"
1
+ require 'optparse'
2
2
 
3
3
  module Inch
4
4
  module CLI
@@ -18,7 +18,7 @@ module Inch
18
18
  degraded = @comparer.degraded_objects
19
19
 
20
20
  if added.empty? && improved.empty? && degraded.empty?
21
- ui.trace "No changes."
21
+ ui.trace 'No changes.'
22
22
  else
23
23
  show(added, improved, degraded)
24
24
  end
@@ -29,7 +29,7 @@ module Inch
29
29
  def show(added, improved, degraded)
30
30
  unless added.empty? && improved.empty?
31
31
  ui.trace
32
- ui.header("Added or improved:", :green)
32
+ ui.header('Added or improved:', :green)
33
33
  added.each do |compare|
34
34
  puts_added compare.after
35
35
  end
@@ -40,7 +40,7 @@ module Inch
40
40
 
41
41
  unless degraded.empty?
42
42
  ui.trace
43
- ui.header("Degraded:", :red)
43
+ ui.header('Degraded:', :red)
44
44
  degraded.each do |compare|
45
45
  puts_degraded compare.before, compare.after
46
46
  end
@@ -48,20 +48,20 @@ module Inch
48
48
  ui.trace
49
49
  ui.trace rev_hint
50
50
  ui.trace
51
- ui.trace "Format: grade (before -> after), priority, and name. " \
51
+ ui.trace 'Format: grade (before -> after), priority, and name. ' \
52
52
  "Try `--help' for options.".dark
53
53
  end
54
54
 
55
55
  def puts_added(o)
56
56
  grade = colored_grade(o)
57
- change = " + ".dark + grade + " " + priority_arrow(o.priority)
57
+ change = ' + '.dark + grade + ' ' + priority_arrow(o.priority)
58
58
  ui.sub(" #{change} #{o.fullname}")
59
59
  end
60
60
 
61
61
  def puts_improved(before, o)
62
62
  before_grade = colored_grade(before)
63
63
  grade = colored_grade(o)
64
- change = before_grade + " -> ".dark + grade + " " +
64
+ change = before_grade + ' -> '.dark + grade + ' ' +
65
65
  priority_arrow(o.priority)
66
66
  ui.sub(" #{change} #{o.fullname}")
67
67
  end
@@ -79,13 +79,13 @@ module Inch
79
79
 
80
80
  def rev_hint
81
81
  if @options.since_last_commit?
82
- "Showing changes since your last commit."
82
+ 'Showing changes since your last commit.'
83
83
  elsif @options.since_last_push?
84
- "Showing changes since you last pushed."
84
+ 'Showing changes since you last pushed.'
85
85
  else
86
86
  revisions = @options.revisions
87
87
  before_rev = revisions[0]
88
- after_rev = revisions[1] || "now"
88
+ after_rev = revisions[1] || 'now'
89
89
  "Showing changes between #{before_rev} and #{after_rev}."
90
90
  end
91
91
  end
@@ -48,7 +48,7 @@ module Inch
48
48
  def print_code_info(o)
49
49
  if o.method?
50
50
  CommentAndAbbrevSource.new(o).lines.each do |line|
51
- echo line.gsub(/\n$/m, "").color(COMMENT_COLOR)
51
+ echo line.gsub(/\n$/m, '').color(COMMENT_COLOR)
52
52
  end
53
53
  echo separator
54
54
  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.'.dark
60
60
  else
61
61
  o.roles.each do |role|
62
62
  print_role_info(role)
@@ -66,7 +66,7 @@ module Inch
66
66
  end
67
67
 
68
68
  def print_role_info(role)
69
- name = role.class.to_s.split("::Role::").last
69
+ name = role.class.to_s.split('::Role::').last
70
70
  score = colored_role_score(role)
71
71
 
72
72
  priority = role.priority.to_s.rjust(4)
@@ -86,9 +86,9 @@ module Inch
86
86
 
87
87
  def print_namespace_info(o)
88
88
  if o.namespace?
89
- echo "Children:"
89
+ echo 'Children:'
90
90
  o.children.each do |child|
91
- echo "+ " + child.fullname.color(COLOR)
91
+ echo '+ ' + child.fullname.color(COLOR)
92
92
  end
93
93
  echo separator
94
94
  end
@@ -105,20 +105,20 @@ module Inch
105
105
 
106
106
  def colored_score(value, score)
107
107
  if value < 0
108
- ("-" + score).red
108
+ ('-' + score).red
109
109
  elsif value > 0
110
- ("+" + score).green
110
+ ('+' + score).green
111
111
  else
112
- " " + score
112
+ ' ' + score
113
113
  end
114
114
  end
115
115
 
116
- def echo(msg = "")
116
+ def echo(msg = '')
117
117
  ui.edged(COLOR, msg)
118
118
  end
119
119
 
120
120
  def separator
121
- "-".color(COLOR) * (CLI::COLUMNS - 2)
121
+ '-'.color(COLOR) * (CLI::COLUMNS - 2)
122
122
  end
123
123
 
124
124
  class CommentAndAbbrevSource < Struct.new(:code_object)
@@ -131,7 +131,7 @@ module Inch
131
131
  end
132
132
 
133
133
  def to_s
134
- comments.join("") + abbrev_source
134
+ comments.join('') + abbrev_source
135
135
  end
136
136
 
137
137
  private
@@ -139,12 +139,12 @@ module Inch
139
139
  def abbrev_source
140
140
  lines = code_object.source.to_s.lines.to_a
141
141
  if lines.size >= 5
142
- indent = lines[1].scan(/^(\s+)/).flatten.join("")
142
+ indent = lines[1].scan(/^(\s+)/).flatten.join('')
143
143
  lines = lines[0..1] +
144
144
  ["#{indent}# ... snip ...\n"] +
145
145
  lines[-2..-1]
146
146
  end
147
- lines.join("")
147
+ lines.join('')
148
148
  end
149
149
 
150
150
  def comments
@@ -32,7 +32,7 @@ module Inch
32
32
  if @omitted > 0
33
33
  ui.trace
34
34
  ui.trace "This output omitted #{@omitted} objects. ".dark +
35
- "Use `--all` to display all objects.".dark
35
+ 'Use `--all` to display all objects.'.dark
36
36
  end
37
37
  end
38
38
 
@@ -40,22 +40,22 @@ module Inch
40
40
 
41
41
  def print_roles_info(o)
42
42
  if o.roles.empty?
43
- echo "No roles assigned.".dark
43
+ echo 'No roles assigned.'.dark
44
44
  else
45
45
  o.roles.each do |role|
46
46
  next unless role.suggestion
47
- echo "+".color(COLOR) + " #{role.suggestion}"
47
+ echo '+'.color(COLOR) + " #{role.suggestion}"
48
48
  end
49
49
  end
50
50
  echo separator
51
51
  end
52
52
 
53
- def echo(msg = "")
53
+ def echo(msg = '')
54
54
  ui.edged(COLOR, msg)
55
55
  end
56
56
 
57
57
  def separator
58
- "-".color(COLOR) * (CLI::COLUMNS - 2)
58
+ '-'.color(COLOR) * (CLI::COLUMNS - 2)
59
59
  end
60
60
 
61
61
  def grade(score)
@@ -1,5 +1,5 @@
1
- require "json"
2
- require "yaml"
1
+ require 'json'
2
+ require 'yaml'
3
3
 
4
4
  module Inch
5
5
  module CLI
@@ -31,25 +31,25 @@ module Inch
31
31
  print_grades_by_priority
32
32
  print_priorities
33
33
  ui.trace
34
- ui.trace "Try `--format json|yaml` for raw numbers.".dark
34
+ ui.trace 'Try `--format json|yaml` for raw numbers.'.dark
35
35
  end
36
36
 
37
37
  def print_grades
38
- sparkline = grade_lists_sparkline(@grade_lists).to_s(" ")
38
+ sparkline = grade_lists_sparkline(@grade_lists).to_s(' ')
39
39
  ui.trace
40
- ui.trace "Grade distribution: (undocumented, C, B, A)"
40
+ ui.trace 'Grade distribution: (undocumented, C, B, A)'
41
41
  ui.trace
42
42
  ui.trace " Overall: #{sparkline} #{objects.size.to_s.rjust(5)} " \
43
- "objects"
43
+ 'objects'
44
44
  ui.trace
45
45
  end
46
46
 
47
47
  def print_grades_by_priority
48
- ui.trace "Grade distribution by priority:"
48
+ ui.trace 'Grade distribution by priority:'
49
49
  ui.trace
50
50
  Evaluation::PriorityRange.all.each do |priority_range|
51
51
  list = objects.select { |o| priority_range.include?(o.priority) }
52
- sparkline = grades_sparkline(list).to_s(" ")
52
+ sparkline = grades_sparkline(list).to_s(' ')
53
53
  ui.trace " #{priority_range.arrow} #{sparkline} " \
54
54
  "#{list.size.to_s.rjust(5)} objects"
55
55
  ui.trace
@@ -68,16 +68,16 @@ module Inch
68
68
  sparkline.format do |tick, _count, index|
69
69
  tick.color(PRIORITY_COLORS[index])
70
70
  end
71
- ui.trace " #{grade_list.grade}: " + sparkline.to_s(" ") +
71
+ ui.trace " #{grade_list.grade}: " + sparkline.to_s(' ') +
72
72
  " #{grade_list.objects.size.to_s.rjust(5)} objects"
73
73
  ui.trace
74
74
  end
75
75
 
76
76
  def print_priorities
77
77
  arrows = Evaluation::PriorityRange.all.map(&:arrow)
78
- ui.trace "Priority distribution in grades: (low to high)"
78
+ ui.trace 'Priority distribution in grades: (low to high)'
79
79
  ui.trace
80
- ui.trace " #{arrows.reverse.join(" ")}"
80
+ ui.trace " #{arrows.reverse.join(' ')}"
81
81
  @grade_lists.reverse.each do |grade_list|
82
82
  print_grade_list(grade_list)
83
83
  end
@@ -93,9 +93,9 @@ module Inch
93
93
 
94
94
  def stats_hash
95
95
  {
96
- "grade_lists" => __grade_lists,
97
- "scores" => __scores,
98
- "priorities" => __priorities
96
+ 'grade_lists' => __grade_lists,
97
+ 'scores' => __scores,
98
+ 'priorities' => __priorities
99
99
  }
100
100
  end
101
101
 
@@ -1,4 +1,4 @@
1
- require "sparkr"
1
+ require 'sparkr'
2
2
 
3
3
  module Inch
4
4
  module CLI
@@ -11,10 +11,10 @@ module Inch
11
11
 
12
12
  FILE_COLOR = :dark # TODO: store all colors somewhere
13
13
  RANGE_LABELS = {
14
- A: "Nearly perfect:",
15
- B: "Properly documented, could be improved:",
16
- C: "Not properly documented:",
17
- U: "Undocumented:"
14
+ A: 'Nearly perfect:',
15
+ B: 'Properly documented, could be improved:',
16
+ C: 'Not properly documented:',
17
+ U: 'Undocumented:'
18
18
  }
19
19
 
20
20
  # @param options [Command::Options::Suggest]
@@ -47,8 +47,8 @@ module Inch
47
47
  end
48
48
 
49
49
  def display_distribution
50
- sparkline = grades_sparkline(@relevant_objects).to_s(" ")
51
- ui.trace "Grade distribution (undocumented, C, B, A): " + sparkline
50
+ sparkline = grades_sparkline(@relevant_objects).to_s(' ')
51
+ ui.trace 'Grade distribution (undocumented, C, B, A): ' + sparkline
52
52
  ui.trace
53
53
  ui.trace priority_filter_hint
54
54
  end
@@ -65,11 +65,11 @@ module Inch
65
65
 
66
66
  def display_files
67
67
  ui.trace
68
- ui.trace "You might want to look at these files:"
68
+ ui.trace 'You might want to look at these files:'
69
69
  ui.trace
70
70
 
71
71
  files.each do |file|
72
- filename = file.fullname.gsub(base_dir, "")
72
+ filename = file.fullname.gsub(base_dir, '')
73
73
  ui.edged(FILE_COLOR, filename.color(FILE_COLOR))
74
74
  end
75
75
  ui.trace
@@ -93,16 +93,16 @@ module Inch
93
93
 
94
94
  def display_no_objects_hint
95
95
  hint = if @options.pedantic
96
- "Even by my standards."
96
+ 'Even by my standards.'
97
97
  else
98
- "Try --pedantic to be excessively concerned with minor " \
99
- "details and rules."
98
+ 'Try --pedantic to be excessively concerned with minor ' \
99
+ 'details and rules.'
100
100
  end
101
- ui.trace "Nothing to suggest.".color(:green) + " #{hint}"
101
+ ui.trace 'Nothing to suggest.'.color(:green) + " #{hint}"
102
102
  end
103
103
 
104
104
  def min_priority_arrows
105
- priority_arrows_gte(@options.object_min_priority).join(" ")
105
+ priority_arrows_gte(@options.object_min_priority).join(' ')
106
106
  end
107
107
 
108
108
  def priority_arrows_gte(min_priority)