inch 0.6.3 → 0.6.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a532903e5f4b680ac857bbd0cd00961894cac338
4
- data.tar.gz: 8441b59d19f5306e4c0d419807bd43a74ad15941
3
+ metadata.gz: 97a2e0db4145398867af07819d6657c6473c7cf2
4
+ data.tar.gz: 288d4945533cde5327a6479d0c4225d8cdff562b
5
5
  SHA512:
6
- metadata.gz: a5095f06f18343aa1b4d5247068c18cccbe9f39d59bdc878d5c328c6553238c7a1a55a78fd4d4cc6f72e2119d0fc8ee355d93e7e23990210be6475d46f1aaaae
7
- data.tar.gz: 68c2ed5d448f1433bf0deaa81c82f6cbcd61c959c784968d32b560db3c4a0aa2d415cd55de00dbf6a015d2421ce54b65d7e9cf21b068605e8f722999af3581be
6
+ metadata.gz: 0958cf52771d502deeaa704a0c976dc8f3adb758f114fec1a9cb5bd08be81d1a5ced6c7a42f5ce609003d727a79acda12e879fe798cf3cbab97956dab33e7cca
7
+ data.tar.gz: aa5badaa8ea8c48db207dfe9830a42c59086471f9bd314478753de0c54659eba7b485fd7a1358a8af4a187e51b13826629d30834e0779e5fd39ad2bacedeb24f
@@ -1,5 +1,10 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.6.4
4
+
5
+ - Ruby: Skip analysis for method parameters named '_'
6
+ - Ruby: Fix bug regarding method object evaluation
7
+
3
8
  ## 0.6.3
4
9
 
5
10
  - Elixir: Recognize callbacks and macros
@@ -258,7 +258,7 @@ module Inch
258
258
  protected
259
259
 
260
260
  def multi_code_examples?(text)
261
- text.scan(/\b(#{Regexp.escape(name)})[^_0-9\!\?]/m).size > 1
261
+ text.to_s.scan(/\b(#{Regexp.escape(name)})[^_0-9\!\?]/m).size > 1
262
262
  end
263
263
 
264
264
  # @return [Boolean]
@@ -159,7 +159,7 @@ module Inch
159
159
  def return_described_via_tag?
160
160
  return_tags.any? do |t|
161
161
  return_tag_describes_unusable_value?(t) ||
162
- !t.text.empty? && !YARD.implicit_tag?(t, self)
162
+ !t.text.to_s.empty? && !YARD.implicit_tag?(t, self)
163
163
  end
164
164
  end
165
165
 
@@ -21,7 +21,8 @@ module Inch
21
21
  @in_signature = in_signature
22
22
  end
23
23
 
24
- BAD_NAME_EXCEPTIONS = %w(id)
24
+ IGNORE_NAME = "_"
25
+ BAD_NAME_EXCEPTIONS = [IGNORE_NAME, "id"]
25
26
  BAD_NAME_THRESHOLD = 3
26
27
 
27
28
  # @return [Boolean] +true+ if the name of the parameter is
@@ -38,13 +39,13 @@ module Inch
38
39
 
39
40
  # @return [Boolean] +true+ if an additional description given?
40
41
  def described?
41
- described_by_tag? || described_by_docstring?
42
+ described_by_tag? || described_by_docstring? || ignore?
42
43
  end
43
44
 
44
45
  # @return [Boolean] +true+ if the parameter is mentioned in the
45
46
  # docs
46
47
  def mentioned?
47
- !!@tag || mentioned_by_docstring?
48
+ !!@tag || mentioned_by_docstring? || ignore?
48
49
  end
49
50
 
50
51
  # @return [Boolean] +true+ if the parameter is a splat argument
@@ -54,7 +55,7 @@ module Inch
54
55
 
55
56
  # @return [Boolean] +true+ if the type of the parameter is defined
56
57
  def typed?
57
- @tag && @tag.types && !@tag.types.empty?
58
+ (@tag && @tag.types && !@tag.types.empty?) || ignore?
58
59
  end
59
60
 
60
61
  # @return [Boolean] +true+ if the parameter is mentioned in the
@@ -78,6 +79,10 @@ module Inch
78
79
  end
79
80
  end
80
81
 
82
+ def ignore?
83
+ name == IGNORE_NAME
84
+ end
85
+
81
86
  def mentioned_by_docstring?
82
87
  if @method.docstring.mentions_parameter?(name)
83
88
  true
@@ -1,3 +1,3 @@
1
1
  module Inch
2
- VERSION = '0.6.3'
2
+ VERSION = '0.6.4'
3
3
  end
@@ -13,6 +13,12 @@ module Foo
13
13
  def method_with_missing_param_doc(param1, param2, param3)
14
14
  end
15
15
 
16
+ # Provides an example of a missing described parameter.
17
+ #
18
+ # @return [void]
19
+ def method_with_missing_ignore_param_doc(_)
20
+ end
21
+
16
22
  # Provides an example of a wrongly described parameter.
17
23
  #
18
24
  # @param param1 [String]
@@ -20,6 +20,12 @@ describe ::Inch::Language::Ruby::CodeObject::MethodObject do
20
20
  refute m.undocumented?
21
21
  end
22
22
 
23
+ it 'does not complain about _ parameter' do
24
+ m = @objects.find('Foo::Bar#method_with_missing_ignore_param_doc')
25
+ assert_equal 100, m.score
26
+ refute m.undocumented?
27
+ end
28
+
23
29
  it 'should not count a call to `raise`' do
24
30
  m = @objects.find('InchTest#raising_method')
25
31
  assert_equal 0, m.score
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.6.3
4
+ version: 0.6.4
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: 2015-06-24 00:00:00.000000000 Z
11
+ date: 2015-08-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler