inch 0.5.0.rc5 → 0.5.0.rc6

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.
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
@@ -20,7 +20,8 @@ module Inch
20
20
  Role::Object::WithCodeExample => score_for(:code_example_single),
21
21
  Role::Object::WithMultipleCodeExamples =>
22
22
  score_for(:code_example_multi),
23
- Role::Object::WithoutCodeExample => score_for(:code_example_single),
23
+ Role::Object::WithoutCodeExample =>
24
+ score_for(:code_example_single),
24
25
  Role::Object::Tagged => score_for_unconsidered_tags,
25
26
  Role::Object::TaggedAsAPI => nil,
26
27
  Role::Object::TaggedAsInternalAPI => nil,
@@ -53,7 +53,8 @@ module Inch
53
53
 
54
54
  def relevant_parameter_roles(param, per_param)
55
55
  {
56
- Role::MethodParameter::WithWrongMention => -score_for(:parameters),
56
+ Role::MethodParameter::WithWrongMention =>
57
+ -score_for(:parameters),
57
58
  Role::MethodParameter::WithMention => per_param * 0.5,
58
59
  Role::MethodParameter::WithoutMention => per_param * 0.5,
59
60
  Role::MethodParameter::WithType => per_param * 0.5,
@@ -5,30 +5,30 @@ module Inch
5
5
  end
6
6
  end
7
7
 
8
- require "inch/language/ruby/provider/yard"
8
+ require 'inch/language/ruby/provider/yard'
9
9
 
10
- require "inch/language/ruby/code_object/base"
11
- require "inch/language/ruby/code_object/namespace_object"
12
- require "inch/language/ruby/code_object/class_object"
13
- require "inch/language/ruby/code_object/class_variable_object"
14
- require "inch/language/ruby/code_object/constant_object"
15
- require "inch/language/ruby/code_object/method_object"
16
- require "inch/language/ruby/code_object/method_parameter_object"
17
- require "inch/language/ruby/code_object/module_object"
10
+ require 'inch/language/ruby/code_object/base'
11
+ require 'inch/language/ruby/code_object/namespace_object'
12
+ require 'inch/language/ruby/code_object/class_object'
13
+ require 'inch/language/ruby/code_object/class_variable_object'
14
+ require 'inch/language/ruby/code_object/constant_object'
15
+ require 'inch/language/ruby/code_object/method_object'
16
+ require 'inch/language/ruby/code_object/method_parameter_object'
17
+ require 'inch/language/ruby/code_object/module_object'
18
18
 
19
- require "inch/language/ruby/evaluation/base"
20
- require "inch/language/ruby/evaluation/namespace_object"
21
- require "inch/language/ruby/evaluation/class_object"
22
- require "inch/language/ruby/evaluation/class_variable_object"
23
- require "inch/language/ruby/evaluation/constant_object"
24
- require "inch/language/ruby/evaluation/method_object"
25
- require "inch/language/ruby/evaluation/module_object"
19
+ require 'inch/language/ruby/evaluation/base'
20
+ require 'inch/language/ruby/evaluation/namespace_object'
21
+ require 'inch/language/ruby/evaluation/class_object'
22
+ require 'inch/language/ruby/evaluation/class_variable_object'
23
+ require 'inch/language/ruby/evaluation/constant_object'
24
+ require 'inch/language/ruby/evaluation/method_object'
25
+ require 'inch/language/ruby/evaluation/module_object'
26
26
 
27
- require "inch/language/ruby/roles/base"
28
- require "inch/language/ruby/roles/missing"
29
- require "inch/language/ruby/roles/object"
30
- require "inch/language/ruby/roles/method"
31
- require "inch/language/ruby/roles/method_parameter"
32
- require "inch/language/ruby/roles/namespace"
33
- require "inch/language/ruby/roles/constant"
34
- require "inch/language/ruby/roles/class_variable"
27
+ require 'inch/language/ruby/roles/base'
28
+ require 'inch/language/ruby/roles/missing'
29
+ require 'inch/language/ruby/roles/object'
30
+ require 'inch/language/ruby/roles/method'
31
+ require 'inch/language/ruby/roles/method_parameter'
32
+ require 'inch/language/ruby/roles/namespace'
33
+ require 'inch/language/ruby/roles/constant'
34
+ require 'inch/language/ruby/roles/class_variable'
@@ -13,7 +13,7 @@ module Inch
13
13
  if method.getter?
14
14
  docstring.to_s == "Returns the value of attribute #{name}"
15
15
  elsif method.setter?
16
- basename = name.to_s.gsub(/(\=)$/, "")
16
+ basename = name.to_s.gsub(/(\=)$/, '')
17
17
  docstring.to_s == "Sets the attribute #{basename}"
18
18
  else
19
19
  false
@@ -27,11 +27,11 @@ module Inch
27
27
  def self.implicit_tag?(tag, method)
28
28
  name = method.name
29
29
  if method.getter?
30
- tag.tag_name == "return" &&
30
+ tag.tag_name == 'return' &&
31
31
  tag.text == "the current value of #{name}"
32
32
  elsif method.setter?
33
- tag.tag_name == "return" &&
34
- tag.text == "the newly set value"
33
+ tag.tag_name == 'return' &&
34
+ tag.text == 'the newly set value'
35
35
  else
36
36
  false
37
37
  end
@@ -47,12 +47,12 @@ module Inch
47
47
  end
48
48
  end
49
49
 
50
- require "logger"
51
- require "yard"
50
+ require 'logger'
51
+ require 'yard'
52
52
 
53
53
  log.level = ::Logger::UNKNOWN # basically disable YARD's logging
54
54
 
55
- require "inch/language/ruby/provider/yard/parser"
56
- require "inch/language/ruby/provider/yard/docstring"
57
- require "inch/language/ruby/provider/yard/nodoc_helper"
58
- require "inch/language/ruby/provider/yard/object"
55
+ require 'inch/language/ruby/provider/yard/parser'
56
+ require 'inch/language/ruby/provider/yard/docstring'
57
+ require 'inch/language/ruby/provider/yard/nodoc_helper'
58
+ require 'inch/language/ruby/provider/yard/object'
@@ -86,8 +86,8 @@ module Inch
86
86
  line_number.times { f.gets }
87
87
  result = $LAST_READ_LINE
88
88
  f.close
89
- result.encode("UTF-8", "binary",
90
- invalid: :replace, undef: :replace, replace: "")
89
+ result.encode('UTF-8', 'binary',
90
+ invalid: :replace, undef: :replace, replace: '')
91
91
  end
92
92
  end
93
93
  end
@@ -32,7 +32,7 @@ module Inch
32
32
  # @param yard_object [YARD::CodeObject]
33
33
  # @return [Class]
34
34
  def class_for(yard_object)
35
- class_name = yard_object.class.to_s.split("::").last
35
+ class_name = yard_object.class.to_s.split('::').last
36
36
  const_get(class_name)
37
37
  rescue NameError
38
38
  Base
@@ -53,11 +53,11 @@ module Inch
53
53
  end
54
54
  end
55
55
 
56
- require "inch/language/ruby/provider/yard/object/base"
57
- require "inch/language/ruby/provider/yard/object/namespace_object"
58
- require "inch/language/ruby/provider/yard/object/class_object"
59
- require "inch/language/ruby/provider/yard/object/class_variable_object"
60
- require "inch/language/ruby/provider/yard/object/constant_object"
61
- require "inch/language/ruby/provider/yard/object/method_object"
62
- require "inch/language/ruby/provider/yard/object/method_parameter_object"
63
- require "inch/language/ruby/provider/yard/object/module_object"
56
+ require 'inch/language/ruby/provider/yard/object/base'
57
+ require 'inch/language/ruby/provider/yard/object/namespace_object'
58
+ require 'inch/language/ruby/provider/yard/object/class_object'
59
+ require 'inch/language/ruby/provider/yard/object/class_variable_object'
60
+ require 'inch/language/ruby/provider/yard/object/constant_object'
61
+ require 'inch/language/ruby/provider/yard/object/method_object'
62
+ require 'inch/language/ruby/provider/yard/object/method_parameter_object'
63
+ require 'inch/language/ruby/provider/yard/object/module_object'
@@ -1,4 +1,5 @@
1
- require "forwardable"
1
+ require 'forwardable'
2
+ require 'inch/utils/code_location'
2
3
 
3
4
  module Inch
4
5
  module Language
@@ -59,8 +60,8 @@ module Inch
59
60
  nil
60
61
  end
61
62
 
62
- # @return [Array,nil] the full names of the children of the current
63
- # object
63
+ # @return [Array,nil] the full names of the children of the
64
+ # current object
64
65
  def children_fullnames
65
66
  []
66
67
  end
@@ -75,11 +76,12 @@ module Inch
75
76
  Array Bignum BasicObject Object Module Class Complex NilClass
76
77
  Numeric String Float Fiber FiberError Continuation Dir File
77
78
  Encoding Enumerator StopIteration Enumerator::Generator
78
- Enumerator::Yielder Exception SystemExit SignalException Interrupt
79
- StandardError TypeError ArgumentError IndexError KeyError
80
- RangeError ScriptError SyntaxError LoadError NotImplementedError
81
- NameError NoMethodError RuntimeError SecurityError NoMemoryError
82
- EncodingError SystemCallError Encoding::CompatibilityError
79
+ Enumerator::Yielder Exception SystemExit SignalException
80
+ Interrupt StandardError TypeError ArgumentError IndexError
81
+ KeyError RangeError ScriptError SyntaxError LoadError
82
+ NotImplementedError NameError NoMethodError RuntimeError
83
+ SecurityError NoMemoryError EncodingError SystemCallError
84
+ Encoding::CompatibilityError
83
85
  File::Stat IO Hash ENV IOError EOFError ARGF RubyVM
84
86
  RubyVM::InstructionSequence Math::DomainError ZeroDivisionError
85
87
  FloatDomainError Integer Fixnum Data TrueClass FalseClass Mutex
@@ -91,8 +93,9 @@ module Inch
91
93
  Encoding::ConverterNotFoundError Encoding::Converter RubyVM::Env
92
94
 
93
95
  Comparable Kernel File::Constants Enumerable Errno FileTest GC
94
- ObjectSpace GC::Profiler IO::WaitReadable IO::WaitWritable Marshal
95
- Math Process Process::UID Process::GID Process::Sys Signal
96
+ ObjectSpace GC::Profiler IO::WaitReadable IO::WaitWritable
97
+ Marshal Math Process Process::UID Process::GID Process::Sys
98
+ Signal
96
99
  )
97
100
  def core?
98
101
  RUBY_CORE.include?(name.to_s)
@@ -103,13 +106,13 @@ module Inch
103
106
  @docstring ||= Docstring.new(object.docstring)
104
107
  end
105
108
 
106
- # Returns all files declaring the object in the form of an Array of
107
- # Arrays containing the location of their declaration.
109
+ # Returns all files declaring the object in the form of an Array
110
+ # of Arrays containing the location of their declaration.
108
111
  #
109
112
  # @return [Array<CodeLocation>]
110
113
  def files
111
114
  object.files.map do |(filename, line_no)|
112
- CodeLocation.new(base_dir, filename, line_no)
115
+ Inch::Utils::CodeLocation.new(base_dir, filename, line_no)
113
116
  end
114
117
  rescue ::YARD::CodeObjects::ProxyMethodError
115
118
  # this error is raised by YARD
@@ -117,19 +120,11 @@ module Inch
117
120
  []
118
121
  end
119
122
 
120
- # CodeLocation is a utility class to find declarations of objects in
121
- # files
122
- class CodeLocation < Struct.new(:base_dir, :relative_path, :line_no)
123
- def filename
124
- File.join(base_dir, relative_path)
125
- end
126
- end
127
-
128
123
  # Returns the name of the file where the object is declared first
129
124
  # @return [String] a filename
130
125
  def filename
131
- # just checking the first file (which is the file where an object
132
- # is first declared)
126
+ # just checking the first file (which is the file where an
127
+ # object is first declared)
133
128
  files.first && files.first.filename
134
129
  end
135
130
 
@@ -182,8 +177,8 @@ module Inch
182
177
  # ^ ^ ^ ^
183
178
  # 1 << 2 << 3 << 4
184
179
  #
185
- # +depth+ answers the question "how many layers of code objects are
186
- # above this one?"
180
+ # +depth+ answers the question "how many layers of code objects
181
+ # are above this one?"
187
182
  #
188
183
  # @note top-level counts, that's why Foo has depth 1!
189
184
  #
@@ -242,7 +237,8 @@ module Inch
242
237
  depth == 1
243
238
  end
244
239
 
245
- # @return [Boolean] +true+ if the object has no documentation at all
240
+ # @return [Boolean] +true+ if the object has no documentation at
241
+ # all
246
242
  def undocumented?
247
243
  original_docstring.empty?
248
244
  end
@@ -270,7 +266,7 @@ module Inch
270
266
  attr_reader :private_tag
271
267
 
272
268
  def private_api_tag?
273
- api_tag && api_tag.text == "private"
269
+ api_tag && api_tag.text == 'private'
274
270
  end
275
271
 
276
272
  def tag(name)
@@ -286,7 +282,8 @@ module Inch
286
282
  end
287
283
 
288
284
  # @return [Array]
289
- # YARD tags that are not already covered by other wrapper methods
285
+ # YARD tags that are not already covered by other wrapper
286
+ # methods
290
287
  def unconsidered_tags
291
288
  @unconsidered_tags ||= tags.reject do |tag|
292
289
  auto_generated_tag?(tag) ||
@@ -1,4 +1,4 @@
1
- require "inch/language/ruby/provider/yard/object/method_signature"
1
+ require 'inch/language/ruby/provider/yard/object/method_signature'
2
2
 
3
3
  module Inch
4
4
  module Language
@@ -70,7 +70,8 @@ module Inch
70
70
  # mentioned in the docstring (e.g. "Returns a String").
71
71
  def return_mentioned?
72
72
  return_tags.any? do |t|
73
- !t.types.nil? && !t.types.empty? && !YARD.implicit_tag?(t, self)
73
+ !t.types.nil? && !t.types.empty? &&
74
+ !YARD.implicit_tag?(t, self)
74
75
  end || docstring.mentions_return? && !implicit_docstring?
75
76
  end
76
77
 
@@ -120,7 +121,7 @@ module Inch
120
121
 
121
122
  # @return [MethodObject,nil]
122
123
  def corresponding_getter
123
- clean_name = name.to_s.gsub(/(\=)$/, "")
124
+ clean_name = name.to_s.gsub(/(\=)$/, '')
124
125
  parent.child(clean_name.to_sym)
125
126
  end
126
127
 
@@ -41,7 +41,8 @@ module Inch
41
41
  described_by_tag? || described_by_docstring?
42
42
  end
43
43
 
44
- # @return [Boolean] +true+ if the parameter is mentioned in the docs
44
+ # @return [Boolean] +true+ if the parameter is mentioned in the
45
+ # docs
45
46
  def mentioned?
46
47
  !!@tag || mentioned_by_docstring?
47
48
  end
@@ -72,7 +73,7 @@ module Inch
72
73
  if @method.docstring.describes_parameter?(name)
73
74
  true
74
75
  else
75
- unsplatted = name.gsub(/^[\&\*]/, "")
76
+ unsplatted = name.gsub(/^[\&\*]/, '')
76
77
  @method.docstring.describes_parameter?(unsplatted)
77
78
  end
78
79
  end
@@ -81,7 +82,7 @@ module Inch
81
82
  if @method.docstring.mentions_parameter?(name)
82
83
  true
83
84
  else
84
- unsplatted = name.gsub(/^[\&\*]/, "")
85
+ unsplatted = name.gsub(/^[\&\*]/, '')
85
86
  @method.docstring.mentions_parameter?(unsplatted)
86
87
  end
87
88
  end
@@ -60,7 +60,7 @@ module Inch
60
60
  # Returns the actual signature of the method.
61
61
  # @return [String]
62
62
  def signature
63
- relevant_object.signature.gsub(/^(def\ )/, "")
63
+ relevant_object.signature.gsub(/^(def\ )/, '')
64
64
  end
65
65
 
66
66
  private
@@ -95,7 +95,7 @@ module Inch
95
95
  # @param name [String] parameter name
96
96
  # @return [String]
97
97
  def normalize_parameter_name(name)
98
- name.gsub(/[\&\*\$\[\]]/, "")
98
+ name.gsub(/[\&\*\$\[\]]/, '')
99
99
  end
100
100
 
101
101
  def parameter_tag(param_name)
@@ -8,7 +8,8 @@ module Inch
8
8
  # inside itself (e.g. classes and modules)
9
9
  class NamespaceObject < Base
10
10
  def attributes
11
- object.class_attributes.values + object.instance_attributes.values
11
+ object.class_attributes.values +
12
+ object.instance_attributes.values
12
13
  end
13
14
 
14
15
  def children_fullnames
@@ -23,8 +23,8 @@ module Inch
23
23
  def parse(dir, config)
24
24
  Dir.chdir(dir) do
25
25
  parse_yard_objects(config.included_files,
26
- config.excluded_files,
27
- config.read_dump_file)
26
+ config.excluded_files,
27
+ config.read_dump_file)
28
28
  inject_base_dir(dir)
29
29
  end
30
30
  end
@@ -7,7 +7,7 @@ module Inch
7
7
  class Base < Inch::Evaluation::Role
8
8
  # Returns the type of the +object+ that is being evaluated.
9
9
  def object_type
10
- object.class.to_s.split("::").last.gsub(/Object$/, "").downcase
10
+ object.class.to_s.split('::').last.gsub(/Object$/, '').downcase
11
11
  end
12
12
  end
13
13
  end
@@ -17,7 +17,8 @@ module Inch
17
17
  priority +2
18
18
  end
19
19
 
20
- # Role assigned to methods where the return value is typed in the docs
20
+ # Role assigned to methods where the return value is typed in the
21
+ # docs
21
22
  class WithReturnType < Base
22
23
  applicable_if :return_typed?
23
24
  end
@@ -65,7 +65,7 @@ module Inch
65
65
 
66
66
  def suggestion
67
67
  "The parameter '#{object.name}' seems not to be part of the " \
68
- "signature."
68
+ 'signature.'
69
69
  end
70
70
  end
71
71
 
@@ -11,8 +11,8 @@ module Inch
11
11
  end
12
12
 
13
13
  # @return [Fixnum]
14
- # a score that can be achieved by adding the missing thing mentioned
15
- # by the role
14
+ # a score that can be achieved by adding the missing thing
15
+ # mentioned by the role
16
16
  def potential_score
17
17
  @value.to_i
18
18
  end
@@ -45,15 +45,15 @@ module Inch
45
45
  priority -7
46
46
  end
47
47
 
48
- # Role assigned to objects explicitly or implicitly tagged to be part
49
- # of an API. If the API is 'private'/'internal' TaggedAsInternalAPI is
50
- # assigned instead.
48
+ # Role assigned to objects explicitly or implicitly tagged to be
49
+ # part of an API. If the API is 'private'/'internal'
50
+ # TaggedAsInternalAPI is assigned instead.
51
51
  class TaggedAsAPI < Base
52
52
  applicable_if :api_tag?
53
53
  end
54
54
 
55
- # Role assigned to objects explicitly or implicitly tagged to be part
56
- # of a private API.
55
+ # Role assigned to objects explicitly or implicitly tagged to be
56
+ # part of a private API.
57
57
  class TaggedAsInternalAPI < Base
58
58
  applicable_if :tagged_as_internal_api?
59
59
  priority -5
@@ -109,7 +109,7 @@ module Inch
109
109
  applicable_unless :has_code_example?
110
110
 
111
111
  def suggestion
112
- "Add a code example (optional)"
112
+ 'Add a code example (optional)'
113
113
  end
114
114
  end
115
115
  end