reek 3.0.2 → 3.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +4 -0
- data/CHANGELOG +4 -0
- data/lib/reek/configuration/app_configuration.rb +2 -2
- data/lib/reek/report/formatter.rb +1 -1
- data/lib/reek/smells/nested_iterators.rb +1 -1
- data/lib/reek/source/source_locator.rb +11 -8
- data/lib/reek/version.rb +1 -1
- data/spec/reek/source/source_locator_spec.rb +20 -3
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d10cc19d7d47e9a5094aaf117aac55072abe9064
|
4
|
+
data.tar.gz: db2544839858ea0cad619f8bef26c77e0ebb9745
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0b29e3d3b6fcdcd5399b3d6faa881c88a226626589f5fff426c62e550c836b53b74280117a0dd9e362a9921b5fac4b2b86762714388d5a48ed425b0425c703e5
|
7
|
+
data.tar.gz: 7bc7a0108f69942487dc213fa76a5f43c09780d8c162151c0a66351aaa5520cafc2c4de5946050034827b3c6dcea5ad7abe728e709c6481efd62c0031df1b732
|
data/.rubocop.yml
CHANGED
data/CHANGELOG
CHANGED
@@ -18,7 +18,7 @@ module Reek
|
|
18
18
|
def self.header(examiner)
|
19
19
|
count = examiner.smells_count
|
20
20
|
result = Rainbow("#{examiner.description} -- ").cyan +
|
21
|
-
|
21
|
+
Rainbow("#{count} warning").yellow
|
22
22
|
result += Rainbow('s').yellow unless count == 1
|
23
23
|
result
|
24
24
|
end
|
@@ -66,7 +66,7 @@ module Reek
|
|
66
66
|
def find_iters_for_iter_node(exp, depth)
|
67
67
|
ignored = ignored_iterator? exp
|
68
68
|
result = find_iters(exp.call, depth) +
|
69
|
-
|
69
|
+
find_iters(exp.block, depth + (ignored ? 0 : 1))
|
70
70
|
result << [exp, depth] unless ignored
|
71
71
|
result
|
72
72
|
end
|
@@ -11,7 +11,9 @@ module Reek
|
|
11
11
|
#
|
12
12
|
# paths - a list of paths as Strings
|
13
13
|
def initialize(paths)
|
14
|
-
@
|
14
|
+
@pathnames = paths.
|
15
|
+
map { |path| Pathname.new(path.chomp('/')) }.
|
16
|
+
flat_map { |pathname| current_directory?(pathname) ? pathname.entries : pathname }
|
15
17
|
end
|
16
18
|
|
17
19
|
# Traverses all paths we initialized the SourceLocator with, finds
|
@@ -25,11 +27,9 @@ module Reek
|
|
25
27
|
private
|
26
28
|
|
27
29
|
def source_paths
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
Find.find(given_path) do |path|
|
32
|
-
pathname = Pathname.new(path)
|
30
|
+
@pathnames.each_with_object([]) do |given_pathname, relevant_paths|
|
31
|
+
print_no_such_file_error(given_pathname) && next unless path_exists?(given_pathname)
|
32
|
+
given_pathname.find do |pathname|
|
33
33
|
if pathname.directory?
|
34
34
|
ignore_path?(pathname) ? Find.prune : next
|
35
35
|
else
|
@@ -37,7 +37,6 @@ module Reek
|
|
37
37
|
end
|
38
38
|
end
|
39
39
|
end
|
40
|
-
relevant_paths.flatten.sort
|
41
40
|
end
|
42
41
|
|
43
42
|
def path_excluded?(pathname)
|
@@ -61,7 +60,11 @@ module Reek
|
|
61
60
|
end
|
62
61
|
|
63
62
|
def ruby_file?(pathname)
|
64
|
-
pathname.
|
63
|
+
pathname.extname == '.rb'
|
64
|
+
end
|
65
|
+
|
66
|
+
def current_directory?(pathname)
|
67
|
+
['.', './'].include? pathname.to_s
|
65
68
|
end
|
66
69
|
end
|
67
70
|
end
|
data/lib/reek/version.rb
CHANGED
@@ -16,7 +16,7 @@ RSpec.describe Reek::Source::SourceLocator do
|
|
16
16
|
sources = described_class.new([path]).sources
|
17
17
|
|
18
18
|
expect(sources.map(&:path)).
|
19
|
-
not_to include(files_that_are_expected_to_be_ignored)
|
19
|
+
not_to include(*files_that_are_expected_to_be_ignored)
|
20
20
|
|
21
21
|
expect(sources.map(&:path)).to eq expected_files
|
22
22
|
end
|
@@ -37,7 +37,7 @@ RSpec.describe Reek::Source::SourceLocator do
|
|
37
37
|
sources = described_class.new([path]).sources
|
38
38
|
|
39
39
|
expect(sources.map(&:path).sort).
|
40
|
-
not_to include(files_that_are_expected_to_be_ignored)
|
40
|
+
not_to include(*files_that_are_expected_to_be_ignored)
|
41
41
|
|
42
42
|
expect(sources.map(&:path).sort).to eq [
|
43
43
|
'spec/samples/source_with_exclude_paths/nested/uncommunicative_parameter_name.rb'
|
@@ -62,10 +62,27 @@ RSpec.describe Reek::Source::SourceLocator do
|
|
62
62
|
sources = described_class.new([path]).sources
|
63
63
|
|
64
64
|
expect(sources.map(&:path)).
|
65
|
-
not_to include(files_that_are_expected_to_be_ignored)
|
65
|
+
not_to include(*files_that_are_expected_to_be_ignored)
|
66
66
|
|
67
67
|
expect(sources.map(&:path)).to eq expected_files
|
68
68
|
end
|
69
69
|
end
|
70
|
+
|
71
|
+
context 'passing "." or "./" as argument' do
|
72
|
+
let(:expected_files) do
|
73
|
+
[
|
74
|
+
'spec/spec_helper.rb',
|
75
|
+
'lib/reek.rb'
|
76
|
+
]
|
77
|
+
end
|
78
|
+
|
79
|
+
it 'expands it correctly' do
|
80
|
+
sources_for_dot = described_class.new(['.']).sources
|
81
|
+
sources_for_dot_slash = described_class.new(['./']).sources
|
82
|
+
|
83
|
+
expect(sources_for_dot.map(&:path)).to include(*expected_files)
|
84
|
+
expect(sources_for_dot.map(&:path)).to eq(sources_for_dot_slash.map(&:path))
|
85
|
+
end
|
86
|
+
end
|
70
87
|
end
|
71
88
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: reek
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.0.
|
4
|
+
version: 3.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kevin Rutherford
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2015-07-
|
13
|
+
date: 2015-07-04 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: parser
|