reek 1.3.3 → 1.3.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: 35357c69cff741c516e6859a55939a19fa860cd5
4
- data.tar.gz: d51ca3ff8ae7661304f767e30177b45555789ed9
3
+ metadata.gz: a55c84d8e8f1583544ec71d2eee88e6009bec7de
4
+ data.tar.gz: 2293dce903da468f25b4bfb491fe1b60f5e13721
5
5
  SHA512:
6
- metadata.gz: 47cf34fb7015f78bf8667e16c932068e4eba33b14d12a51c08a34ffd45a2bd4781bbed6f57fcb27e9c2b55a179851873baf4f46ec63cede7041015b4e6999fe3
7
- data.tar.gz: 73820da254c9c7f50aa6408442dd0cc04489713d37bc4d44f8d4b8cca1b576a5b00fc37804ef5ecdf702d94be1b729a323adabc31edd23d87744043f3b7c5263
6
+ metadata.gz: d0083106eb1f3aac9ec626273072670c551c09f42d9624e2497120e9099243c5e8154a90d575b7a9dd0b7505de0787dd4c21218d03702e23dc8dcc904b9553d8
7
+ data.tar.gz: dc91d3a860e07b2b1edb7c153df02c5e263c145209cf6c577f31cf091eb28da42f489a59a8193de593a98421926f44cf40fb3592bcec5d41afe06f6c73cdd7e5
data/CHANGELOG CHANGED
@@ -1,3 +1,10 @@
1
+ == 1.3.4
2
+
3
+ * (apiology) Add --single-line option for reporting
4
+ * (gilles-leblanc) Allow config files to override default config values
5
+ * (gilles-leblanc) Added line numbers by default when you run the reek command
6
+ * (mvz) Support Ruby 2.0 syntax
7
+
1
8
  == 1.3.3
2
9
 
3
10
  * (bf4) Loosen ruby_parser version dependency
@@ -39,7 +39,8 @@ Feature: Reek can be controlled using command-line options
39
39
 
40
40
  Report formatting:
41
41
  -q, --[no-]quiet Suppress headings for smell-free source files
42
- -n, --line-number Prefix the output with the line number(s).
42
+ -n, --line-number Suppress line number(s) from the output.
43
+ -s, --single-line Show IDE-compatible single-line-per-warning
43
44
  -y, --yaml Report smells in YAML format
44
45
 
45
46
  """
@@ -9,11 +9,11 @@ Feature: Reports total number of code smells
9
9
  And it reports:
10
10
  """
11
11
  spec/samples/not_quite_masked/dirty.rb -- 5 warnings:
12
- Dirty has the variable name '@s' (UncommunicativeVariableName)
13
- Dirty#a calls @s.title twice (DuplicateMethodCall)
14
- Dirty#a calls puts(@s.title) twice (DuplicateMethodCall)
15
- Dirty#a contains iterators nested 2 deep (NestedIterators)
16
- Dirty#a has the name 'a' (UncommunicativeMethodName)
12
+ [7]:Dirty has the variable name '@s' (UncommunicativeVariableName)
13
+ [6, 8]:Dirty#a calls @s.title twice (DuplicateMethodCall)
14
+ [6, 8]:Dirty#a calls puts(@s.title) twice (DuplicateMethodCall)
15
+ [7]:Dirty#a contains iterators nested 2 deep (NestedIterators)
16
+ [5]:Dirty#a has the name 'a' (UncommunicativeMethodName)
17
17
  """
18
18
 
19
19
  Scenario: Output total number of smells when inspecting multiple files
@@ -22,19 +22,19 @@ Feature: Reports total number of code smells
22
22
  And it reports:
23
23
  """
24
24
  spec/samples/two_smelly_files/dirty_one.rb -- 6 warnings:
25
- Dirty has the variable name '@s' (UncommunicativeVariableName)
26
- Dirty#a calls @s.title twice (DuplicateMethodCall)
27
- Dirty#a calls puts(@s.title) twice (DuplicateMethodCall)
28
- Dirty#a contains iterators nested 2 deep (NestedIterators)
29
- Dirty#a has the name 'a' (UncommunicativeMethodName)
30
- Dirty#a has the variable name 'x' (UncommunicativeVariableName)
25
+ [5]:Dirty has the variable name '@s' (UncommunicativeVariableName)
26
+ [4, 6]:Dirty#a calls @s.title twice (DuplicateMethodCall)
27
+ [4, 6]:Dirty#a calls puts(@s.title) twice (DuplicateMethodCall)
28
+ [5]:Dirty#a contains iterators nested 2 deep (NestedIterators)
29
+ [3]:Dirty#a has the name 'a' (UncommunicativeMethodName)
30
+ [5]:Dirty#a has the variable name 'x' (UncommunicativeVariableName)
31
31
  spec/samples/two_smelly_files/dirty_two.rb -- 6 warnings:
32
- Dirty has the variable name '@s' (UncommunicativeVariableName)
33
- Dirty#a calls @s.title twice (DuplicateMethodCall)
34
- Dirty#a calls puts(@s.title) twice (DuplicateMethodCall)
35
- Dirty#a contains iterators nested 2 deep (NestedIterators)
36
- Dirty#a has the name 'a' (UncommunicativeMethodName)
37
- Dirty#a has the variable name 'x' (UncommunicativeVariableName)
32
+ [5]:Dirty has the variable name '@s' (UncommunicativeVariableName)
33
+ [4, 6]:Dirty#a calls @s.title twice (DuplicateMethodCall)
34
+ [4, 6]:Dirty#a calls puts(@s.title) twice (DuplicateMethodCall)
35
+ [5]:Dirty#a contains iterators nested 2 deep (NestedIterators)
36
+ [3]:Dirty#a has the name 'a' (UncommunicativeMethodName)
37
+ [5]:Dirty#a has the variable name 'x' (UncommunicativeVariableName)
38
38
  12 total warnings
39
39
  """
40
40
 
@@ -33,9 +33,9 @@ Feature: Reek reads from $stdin when no files are given
33
33
  And it reports:
34
34
  """
35
35
  $stdin -- 3 warnings:
36
- Turn has no descriptive comment (IrresponsibleModule)
37
- Turn has the variable name '@x' (UncommunicativeVariableName)
38
- Turn#y has the name 'y' (UncommunicativeMethodName)
36
+ [1]:Turn has no descriptive comment (IrresponsibleModule)
37
+ [1]:Turn has the variable name '@x' (UncommunicativeVariableName)
38
+ [1]:Turn#y has the name 'y' (UncommunicativeMethodName)
39
39
 
40
40
  """
41
41
 
@@ -10,12 +10,12 @@ Feature: Masking smells using config files
10
10
  And it reports:
11
11
  """
12
12
  spec/samples/empty_config_file/dirty.rb -- 6 warnings:
13
- Dirty has the variable name '@s' (UncommunicativeVariableName)
14
- Dirty#a calls @s.title twice (DuplicateMethodCall)
15
- Dirty#a calls puts(@s.title) twice (DuplicateMethodCall)
16
- Dirty#a contains iterators nested 2 deep (NestedIterators)
17
- Dirty#a has the name 'a' (UncommunicativeMethodName)
18
- Dirty#a has the variable name 'x' (UncommunicativeVariableName)
13
+ [5]:Dirty has the variable name '@s' (UncommunicativeVariableName)
14
+ [4, 6]:Dirty#a calls @s.title twice (DuplicateMethodCall)
15
+ [4, 6]:Dirty#a calls puts(@s.title) twice (DuplicateMethodCall)
16
+ [5]:Dirty#a contains iterators nested 2 deep (NestedIterators)
17
+ [3]:Dirty#a has the name 'a' (UncommunicativeMethodName)
18
+ [5]:Dirty#a has the variable name 'x' (UncommunicativeVariableName)
19
19
  """
20
20
 
21
21
  Scenario: corrupt config file prevents normal output
@@ -24,13 +24,13 @@ Feature: Masking smells using config files
24
24
  And it reports:
25
25
  """
26
26
  spec/samples/corrupt_config_file/dirty.rb -- 7 warnings:
27
- Dirty has no descriptive comment (IrresponsibleModule)
28
- Dirty has the variable name '@s' (UncommunicativeVariableName)
29
- Dirty#a calls @s.title twice (DuplicateMethodCall)
30
- Dirty#a calls puts(@s.title) twice (DuplicateMethodCall)
31
- Dirty#a contains iterators nested 2 deep (NestedIterators)
32
- Dirty#a has the name 'a' (UncommunicativeMethodName)
33
- Dirty#a has the variable name 'x' (UncommunicativeVariableName)
27
+ [1]:Dirty has no descriptive comment (IrresponsibleModule)
28
+ [4]:Dirty has the variable name '@s' (UncommunicativeVariableName)
29
+ [3, 5]:Dirty#a calls @s.title twice (DuplicateMethodCall)
30
+ [3, 5]:Dirty#a calls puts(@s.title) twice (DuplicateMethodCall)
31
+ [4]:Dirty#a contains iterators nested 2 deep (NestedIterators)
32
+ [2]:Dirty#a has the name 'a' (UncommunicativeMethodName)
33
+ [4]:Dirty#a has the variable name 'x' (UncommunicativeVariableName)
34
34
  """
35
35
  And it reports an error
36
36
 
@@ -40,9 +40,9 @@ Feature: Masking smells using config files
40
40
  And it reports:
41
41
  """
42
42
  spec/samples/masked/dirty.rb -- 3 warnings:
43
- Dirty#a calls @s.title twice (DuplicateMethodCall)
44
- Dirty#a calls puts(@s.title) twice (DuplicateMethodCall)
45
- Dirty#a contains iterators nested 2 deep (NestedIterators)
43
+ [4, 6]:Dirty#a calls @s.title twice (DuplicateMethodCall)
44
+ [4, 6]:Dirty#a calls puts(@s.title) twice (DuplicateMethodCall)
45
+ [5]:Dirty#a contains iterators nested 2 deep (NestedIterators)
46
46
  """
47
47
  And it reports the error "Error: No such file - no_such_file.rb"
48
48
 
@@ -52,9 +52,9 @@ Feature: Masking smells using config files
52
52
  And it reports:
53
53
  """
54
54
  spec/samples/masked/dirty.rb -- 3 warnings:
55
- Dirty#a calls @s.title twice (DuplicateMethodCall)
56
- Dirty#a calls puts(@s.title) twice (DuplicateMethodCall)
57
- Dirty#a contains iterators nested 2 deep (NestedIterators)
55
+ [4, 6]:Dirty#a calls @s.title twice (DuplicateMethodCall)
56
+ [4, 6]:Dirty#a calls puts(@s.title) twice (DuplicateMethodCall)
57
+ [5]:Dirty#a contains iterators nested 2 deep (NestedIterators)
58
58
  """
59
59
 
60
60
  Scenario: non-masked smells are only counted once
@@ -63,11 +63,11 @@ Feature: Masking smells using config files
63
63
  And it reports:
64
64
  """
65
65
  spec/samples/not_quite_masked/dirty.rb -- 5 warnings:
66
- Dirty has the variable name '@s' (UncommunicativeVariableName)
67
- Dirty#a calls @s.title twice (DuplicateMethodCall)
68
- Dirty#a calls puts(@s.title) twice (DuplicateMethodCall)
69
- Dirty#a contains iterators nested 2 deep (NestedIterators)
70
- Dirty#a has the name 'a' (UncommunicativeMethodName)
66
+ [7]:Dirty has the variable name '@s' (UncommunicativeVariableName)
67
+ [6, 8]:Dirty#a calls @s.title twice (DuplicateMethodCall)
68
+ [6, 8]:Dirty#a calls puts(@s.title) twice (DuplicateMethodCall)
69
+ [7]:Dirty#a contains iterators nested 2 deep (NestedIterators)
70
+ [5]:Dirty#a has the name 'a' (UncommunicativeMethodName)
71
71
  """
72
72
 
73
73
  @overrides
@@ -77,8 +77,8 @@ Feature: Masking smells using config files
77
77
  And it reports:
78
78
  """
79
79
  spec/samples/overrides/masked/dirty.rb -- 2 warnings:
80
- Dirty#a calls @s.title twice (DuplicateMethodCall)
81
- Dirty#a calls puts(@s.title) twice (DuplicateMethodCall)
80
+ [4, 6]:Dirty#a calls @s.title twice (DuplicateMethodCall)
81
+ [4, 6]:Dirty#a calls puts(@s.title) twice (DuplicateMethodCall)
82
82
  """
83
83
 
84
84
  Scenario: allow masking some calls for duplication smell
@@ -87,8 +87,8 @@ Feature: Masking smells using config files
87
87
  And it reports:
88
88
  """
89
89
  spec/samples/mask_some/dirty.rb -- 2 warnings:
90
- Dirty#a calls @s.title twice (DuplicateMethodCall)
91
- Dirty#a contains iterators nested 2 deep (NestedIterators)
90
+ [4, 6]:Dirty#a calls @s.title twice (DuplicateMethodCall)
91
+ [5]:Dirty#a contains iterators nested 2 deep (NestedIterators)
92
92
  """
93
93
 
94
94
  @comments
@@ -98,7 +98,7 @@ Feature: Masking smells using config files
98
98
  And it reports:
99
99
  """
100
100
  spec/samples/inline_config/dirty.rb -- 1 warning:
101
- Dirty#a calls @s.title twice (DuplicateMethodCall)
101
+ [5, 7]:Dirty#a calls @s.title twice (DuplicateMethodCall)
102
102
  """
103
103
 
104
104
  Scenario: supports a config file
@@ -107,7 +107,7 @@ Feature: Masking smells using config files
107
107
  And it reports:
108
108
  """
109
109
  spec/samples/masked/dirty.rb -- 1 warning:
110
- Dirty#a contains iterators nested 2 deep (NestedIterators)
110
+ [5]:Dirty#a contains iterators nested 2 deep (NestedIterators)
111
111
  """
112
112
 
113
113
  Scenario: supports multiple config files
@@ -0,0 +1,14 @@
1
+ @overrides_defaults
2
+ Feature: Overriding current rules by specifying new configuration values
3
+ In order to customize Reek to suit my needs
4
+ As a developer
5
+ I want to be able to override the default configuration values
6
+
7
+ Scenario: List of configuration values is overridden by a lower config file
8
+ When I run reek spec/samples/overrides_defaults/camel_case.rb
9
+ Then the exit status indicates smells
10
+ And it reports:
11
+ """
12
+ spec/samples/overrides_defaults/camel_case.rb -- 1 warning:
13
+ [9]:CamelCase#initialize has the variable name 'x1' (UncommunicativeVariableName)
14
+ """
@@ -14,9 +14,9 @@ Feature: Reek can be driven through its Task
14
14
  And it reports:
15
15
  """
16
16
  spec/samples/masked/dirty.rb -- 3 warnings:
17
- Dirty#a calls @s.title twice (DuplicateMethodCall)
18
- Dirty#a calls puts(@s.title) twice (DuplicateMethodCall)
19
- Dirty#a contains iterators nested 2 deep (NestedIterators)
17
+ [4, 6]:Dirty#a calls @s.title twice (DuplicateMethodCall)
18
+ [4, 6]:Dirty#a calls puts(@s.title) twice (DuplicateMethodCall)
19
+ [5]:Dirty#a contains iterators nested 2 deep (NestedIterators)
20
20
  """
21
21
 
22
22
  Scenario: name changes the task name
@@ -30,9 +30,9 @@ Feature: Reek can be driven through its Task
30
30
  And it reports:
31
31
  """
32
32
  spec/samples/masked/dirty.rb -- 3 warnings:
33
- Dirty#a calls @s.title twice (DuplicateMethodCall)
34
- Dirty#a calls puts(@s.title) twice (DuplicateMethodCall)
35
- Dirty#a contains iterators nested 2 deep (NestedIterators)
33
+ [4, 6]:Dirty#a calls @s.title twice (DuplicateMethodCall)
34
+ [4, 6]:Dirty#a calls puts(@s.title) twice (DuplicateMethodCall)
35
+ [5]:Dirty#a contains iterators nested 2 deep (NestedIterators)
36
36
  """
37
37
 
38
38
  Scenario: verbose prints the reek command
@@ -58,12 +58,12 @@ Feature: Reek can be driven through its Task
58
58
  And it reports:
59
59
  """
60
60
  spec/samples/empty_config_file/dirty.rb -- 6 warnings:
61
- Dirty has the variable name '@s' (UncommunicativeVariableName)
62
- Dirty#a calls @s.title twice (DuplicateMethodCall)
63
- Dirty#a calls puts(@s.title) twice (DuplicateMethodCall)
64
- Dirty#a contains iterators nested 2 deep (NestedIterators)
65
- Dirty#a has the name 'a' (UncommunicativeMethodName)
66
- Dirty#a has the variable name 'x' (UncommunicativeVariableName)
61
+ [5]:Dirty has the variable name '@s' (UncommunicativeVariableName)
62
+ [4, 6]:Dirty#a calls @s.title twice (DuplicateMethodCall)
63
+ [4, 6]:Dirty#a calls puts(@s.title) twice (DuplicateMethodCall)
64
+ [5]:Dirty#a contains iterators nested 2 deep (NestedIterators)
65
+ [3]:Dirty#a has the name 'a' (UncommunicativeMethodName)
66
+ [5]:Dirty#a has the variable name 'x' (UncommunicativeVariableName)
67
67
  """
68
68
 
69
69
  Scenario: can be configured with config_files
@@ -10,19 +10,19 @@ Feature: Correctly formatted reports
10
10
  And it reports:
11
11
  """
12
12
  spec/samples/two_smelly_files/dirty_one.rb -- 6 warnings:
13
- Dirty has the variable name '@s' (UncommunicativeVariableName)
14
- Dirty#a calls @s.title twice (DuplicateMethodCall)
15
- Dirty#a calls puts(@s.title) twice (DuplicateMethodCall)
16
- Dirty#a contains iterators nested 2 deep (NestedIterators)
17
- Dirty#a has the name 'a' (UncommunicativeMethodName)
18
- Dirty#a has the variable name 'x' (UncommunicativeVariableName)
13
+ [5]:Dirty has the variable name '@s' (UncommunicativeVariableName)
14
+ [4, 6]:Dirty#a calls @s.title twice (DuplicateMethodCall)
15
+ [4, 6]:Dirty#a calls puts(@s.title) twice (DuplicateMethodCall)
16
+ [5]:Dirty#a contains iterators nested 2 deep (NestedIterators)
17
+ [3]:Dirty#a has the name 'a' (UncommunicativeMethodName)
18
+ [5]:Dirty#a has the variable name 'x' (UncommunicativeVariableName)
19
19
  spec/samples/two_smelly_files/dirty_two.rb -- 6 warnings:
20
- Dirty has the variable name '@s' (UncommunicativeVariableName)
21
- Dirty#a calls @s.title twice (DuplicateMethodCall)
22
- Dirty#a calls puts(@s.title) twice (DuplicateMethodCall)
23
- Dirty#a contains iterators nested 2 deep (NestedIterators)
24
- Dirty#a has the name 'a' (UncommunicativeMethodName)
25
- Dirty#a has the variable name 'x' (UncommunicativeVariableName)
20
+ [5]:Dirty has the variable name '@s' (UncommunicativeVariableName)
21
+ [4, 6]:Dirty#a calls @s.title twice (DuplicateMethodCall)
22
+ [4, 6]:Dirty#a calls puts(@s.title) twice (DuplicateMethodCall)
23
+ [5]:Dirty#a contains iterators nested 2 deep (NestedIterators)
24
+ [3]:Dirty#a has the name 'a' (UncommunicativeMethodName)
25
+ [5]:Dirty#a has the variable name 'x' (UncommunicativeVariableName)
26
26
  12 total warnings
27
27
  """
28
28
 
@@ -50,7 +50,7 @@ Feature: Correctly formatted reports
50
50
  Scenario Outline: --quiet turns off headers for fragrant files
51
51
  When I run reek <option> spec/samples/three_clean_files/*.rb
52
52
  Then it succeeds
53
- And it reports:
53
+ And it reports:
54
54
  """
55
55
  0 total warnings
56
56
  """
@@ -62,17 +62,17 @@ Feature: Correctly formatted reports
62
62
  | -n -q |
63
63
  | -q -n |
64
64
 
65
- Scenario Outline: --line-number turns on line numbers
65
+ Scenario Outline: --line-number turns off line numbers
66
66
  When I run reek <option> spec/samples/not_quite_masked/dirty.rb
67
67
  Then the exit status indicates smells
68
68
  And it reports:
69
69
  """
70
70
  spec/samples/not_quite_masked/dirty.rb -- 5 warnings:
71
- [7]:Dirty has the variable name '@s' (UncommunicativeVariableName)
72
- [6, 8]:Dirty#a calls @s.title twice (DuplicateMethodCall)
73
- [6, 8]:Dirty#a calls puts(@s.title) twice (DuplicateMethodCall)
74
- [7]:Dirty#a contains iterators nested 2 deep (NestedIterators)
75
- [5]:Dirty#a has the name 'a' (UncommunicativeMethodName)
71
+ Dirty has the variable name '@s' (UncommunicativeVariableName)
72
+ Dirty#a calls @s.title twice (DuplicateMethodCall)
73
+ Dirty#a calls puts(@s.title) twice (DuplicateMethodCall)
74
+ Dirty#a contains iterators nested 2 deep (NestedIterators)
75
+ Dirty#a has the name 'a' (UncommunicativeMethodName)
76
76
  """
77
77
 
78
78
  Examples:
@@ -81,3 +81,50 @@ Feature: Correctly formatted reports
81
81
  | --line-number |
82
82
  | -n -q |
83
83
  | -q -n |
84
+
85
+ Scenario Outline: --single-line shows filename and one line number
86
+ When I run reek <option> spec/samples/not_quite_masked/dirty.rb
87
+ Then the exit status indicates smells
88
+ And it reports:
89
+ """
90
+ spec/samples/not_quite_masked/dirty.rb -- 5 warnings:
91
+ spec/samples/not_quite_masked/dirty.rb:7: Dirty has the variable name '@s' (UncommunicativeVariableName)
92
+ spec/samples/not_quite_masked/dirty.rb:6: Dirty#a calls @s.title twice (DuplicateMethodCall)
93
+ spec/samples/not_quite_masked/dirty.rb:6: Dirty#a calls puts(@s.title) twice (DuplicateMethodCall)
94
+ spec/samples/not_quite_masked/dirty.rb:7: Dirty#a contains iterators nested 2 deep (NestedIterators)
95
+ spec/samples/not_quite_masked/dirty.rb:5: Dirty#a has the name 'a' (UncommunicativeMethodName)
96
+ """
97
+
98
+ Examples:
99
+ | option |
100
+ | -s |
101
+ | --single-line |
102
+ | -s -q |
103
+ | -q -s |
104
+
105
+ Scenario Outline: Extra slashes aren't added to directory names
106
+ When I run reek <args>
107
+ Then the exit status indicates smells
108
+ And it reports:
109
+ """
110
+ spec/samples/two_smelly_files/dirty_one.rb -- 6 warnings:
111
+ [5]:Dirty has the variable name '@s' (UncommunicativeVariableName)
112
+ [4, 6]:Dirty#a calls @s.title twice (DuplicateMethodCall)
113
+ [4, 6]:Dirty#a calls puts(@s.title) twice (DuplicateMethodCall)
114
+ [5]:Dirty#a contains iterators nested 2 deep (NestedIterators)
115
+ [3]:Dirty#a has the name 'a' (UncommunicativeMethodName)
116
+ [5]:Dirty#a has the variable name 'x' (UncommunicativeVariableName)
117
+ spec/samples/two_smelly_files/dirty_two.rb -- 6 warnings:
118
+ [5]:Dirty has the variable name '@s' (UncommunicativeVariableName)
119
+ [4, 6]:Dirty#a calls @s.title twice (DuplicateMethodCall)
120
+ [4, 6]:Dirty#a calls puts(@s.title) twice (DuplicateMethodCall)
121
+ [5]:Dirty#a contains iterators nested 2 deep (NestedIterators)
122
+ [3]:Dirty#a has the name 'a' (UncommunicativeMethodName)
123
+ [5]:Dirty#a has the variable name 'x' (UncommunicativeVariableName)
124
+ 12 total warnings
125
+ """
126
+
127
+ Examples:
128
+ | args |
129
+ | spec/samples/two_smelly_files/ |
130
+ | spec/samples/two_smelly_files |
@@ -10,14 +10,14 @@ Feature: The Reek API maintains backwards compatibility
10
10
  And it reports:
11
11
  """
12
12
  spec/samples/demo/demo.rb -- 10 warnings:
13
- Dirty has no descriptive comment (IrresponsibleModule)
14
- Dirty#awful has 4 parameters (LongParameterList)
15
- Dirty#awful has boolean parameter 'log' (BooleanParameter)
16
- Dirty#awful has the parameter name 'x' (UncommunicativeParameterName)
17
- Dirty#awful has the parameter name 'y' (UncommunicativeParameterName)
18
- Dirty#awful has the variable name 'w' (UncommunicativeVariableName)
19
- Dirty#awful has unused parameter 'log' (UnusedParameters)
20
- Dirty#awful has unused parameter 'offset' (UnusedParameters)
21
- Dirty#awful has unused parameter 'x' (UnusedParameters)
22
- Dirty#awful has unused parameter 'y' (UnusedParameters)
13
+ [1]:Dirty has no descriptive comment (IrresponsibleModule)
14
+ [3]:Dirty#awful has 4 parameters (LongParameterList)
15
+ [3]:Dirty#awful has boolean parameter 'log' (BooleanParameter)
16
+ [3]:Dirty#awful has the parameter name 'x' (UncommunicativeParameterName)
17
+ [3]:Dirty#awful has the parameter name 'y' (UncommunicativeParameterName)
18
+ [5]:Dirty#awful has the variable name 'w' (UncommunicativeVariableName)
19
+ [3]:Dirty#awful has unused parameter 'log' (UnusedParameters)
20
+ [3]:Dirty#awful has unused parameter 'offset' (UnusedParameters)
21
+ [3]:Dirty#awful has unused parameter 'x' (UnusedParameters)
22
+ [3]:Dirty#awful has unused parameter 'y' (UnusedParameters)
23
23
  """
@@ -6,7 +6,7 @@ Feature: Basic smell detection
6
6
 
7
7
  @inline
8
8
  Scenario: Correct smells from inline.rb
9
- When I run reek spec/samples/inline.rb
9
+ When I run reek -n spec/samples/inline.rb
10
10
  Then the exit status indicates smells
11
11
  And it reports:
12
12
  """
@@ -54,7 +54,7 @@ Feature: Basic smell detection
54
54
  """
55
55
 
56
56
  Scenario: Correct smells from optparse.rb
57
- When I run reek spec/samples/optparse.rb
57
+ When I run reek -n spec/samples/optparse.rb
58
58
  Then the exit status indicates smells
59
59
  And it reports:
60
60
  """
@@ -171,7 +171,7 @@ Feature: Basic smell detection
171
171
  """
172
172
 
173
173
  Scenario: Correct smells from redcloth.rb
174
- When I run reek spec/samples/redcloth.rb
174
+ When I run reek -n spec/samples/redcloth.rb
175
175
  Then the exit status indicates smells
176
176
  And it reports:
177
177
  """
@@ -278,3 +278,13 @@ Feature: Basic smell detection
278
278
  RedCloth#textile_popup_help has the parameter name 'windowW' (UncommunicativeParameterName)
279
279
  RedCloth#to_html has approx 24 statements (TooManyStatements)
280
280
  """
281
+
282
+ Scenario: Correct smells from a source file with Ruby 2.0 specific syntax
283
+ When I run reek spec/samples/ruby20_syntax.rb
284
+ Then the exit status indicates smells
285
+ And it reports:
286
+ """
287
+ spec/samples/ruby20_syntax.rb -- 2 warnings:
288
+ [1]:SomeClass has no descriptive comment (IrresponsibleModule)
289
+ [2]:SomeClass#method_with_keyword_arguments has unused parameter 'foo' (UnusedParameters)
290
+ """
@@ -18,7 +18,7 @@ module Reek
18
18
  @argv = argv
19
19
  @parser = OptionParser.new
20
20
  @report_class = VerboseReport
21
- @warning_formatter = SimpleWarningFormatter
21
+ @warning_formatter = WarningFormatterWithLineNumbers
22
22
  @command_class = ReekCommand
23
23
  @config_files = []
24
24
  set_options
@@ -75,9 +75,12 @@ EOB
75
75
  @parser.on("-q", "--[no-]quiet", "Suppress headings for smell-free source files") do |opt|
76
76
  @report_class = opt ? QuietReport : VerboseReport
77
77
  end
78
- @parser.on("-n", "--line-number", "Prefix the output with the line number(s).") do
79
- @warning_formatter = WarningFormatterWithLineNumbers
78
+ @parser.on("-n", "--line-number", "Suppress line number(s) from the output.") do
79
+ @warning_formatter = SimpleWarningFormatter
80
80
  end
81
+ @parser.on("-s", "--single-line", "Show IDE-compatible single-line-per-warning") do
82
+ @warning_formatter = SingleLineWarningFormatter
83
+ end
81
84
  @parser.on("-y", "--yaml", "Report smells in YAML format") do
82
85
  @command_class = YamlCommand
83
86
  # SMELL: the args passed to the command should be tested, because it may
@@ -27,6 +27,12 @@ module Reek
27
27
  end
28
28
  end
29
29
 
30
+ module SingleLineWarningFormatter
31
+ def self.format(warning)
32
+ "#{warning.source}:#{warning.lines.first}: #{SimpleWarningFormatter.format(warning)}"
33
+ end
34
+ end
35
+
30
36
  #
31
37
  # A report that lists every source, including those that have no smells.
32
38
  #
@@ -18,8 +18,8 @@ module Reek
18
18
  @options = hash
19
19
  end
20
20
 
21
- def adopt!(options)
22
- @options.adopt!(options)
21
+ def merge!(options)
22
+ @options.merge!(options)
23
23
  end
24
24
 
25
25
  #
@@ -57,7 +57,7 @@ module Reek
57
57
  end
58
58
 
59
59
  def configure_with(config)
60
- @config.adopt!(config)
60
+ @config.merge!(config)
61
61
  end
62
62
 
63
63
  def examine(context)
@@ -8,7 +8,7 @@ module Reek
8
8
  #
9
9
  class SourceLocator
10
10
  def initialize(paths)
11
- @paths = paths
11
+ @paths = paths.map {|path| path.chomp('/') }
12
12
  end
13
13
 
14
14
  def all_sources
@@ -18,7 +18,7 @@ module Reek
18
18
  end
19
19
 
20
20
  def is_language_node?
21
- first.class == Symbol
21
+ Symbol === first
22
22
  end
23
23
 
24
24
  def has_type?(type)
@@ -48,12 +48,13 @@ module Reek
48
48
  end
49
49
  blk.call(self) if first == target_type
50
50
  end
51
+
51
52
  def format_ruby
52
- return self[0].to_s unless Array === self
53
53
  Ruby2Ruby.new.process(deep_copy)
54
54
  end
55
+
55
56
  def deep_copy
56
- Sexp.from_array(YAML::load(YAML::dump(self)))
57
+ Sexp.new(*map { |elem| Sexp === elem ? elem.deep_copy : elem })
57
58
  end
58
59
  end
59
60
 
@@ -1,3 +1,3 @@
1
1
  module Reek
2
- VERSION = '1.3.3'
2
+ VERSION = '1.3.4'
3
3
  end
@@ -26,7 +26,7 @@ and reports any code smells it finds.
26
26
  s.rubygems_version = %q{1.3.6}
27
27
  s.summary = %q{Code smell detector for Ruby}
28
28
 
29
- s.add_runtime_dependency(%q<ruby_parser>, [">= 3.1.1", "~> 3.1"])
29
+ s.add_runtime_dependency(%q<ruby_parser>, ["~> 3.2"])
30
30
  s.add_runtime_dependency(%q<sexp_processor>)
31
31
  s.add_runtime_dependency(%q<ruby2ruby>, ["~> 2.0.2"])
32
32
 
@@ -8,4 +8,40 @@ describe SmellConfiguration do
8
8
  cf = SmellConfiguration.new({})
9
9
  cf.value('fred', nil, 27).should == 27
10
10
  end
11
+
12
+ context 'when overriding default configs' do
13
+ before(:each) do
14
+ @base_config = {"enabled"=>true, "exclude"=>[],
15
+ "reject"=>[/^.$/, /[0-9]$/, /[A-Z]/],
16
+ "accept"=>["_"]}
17
+ @smell_config = SmellConfiguration.new(@base_config)
18
+ end
19
+
20
+ it { @smell_config.merge!({}).should == @base_config }
21
+ it { @smell_config.merge!({"enabled"=>true}).should == @base_config }
22
+ it { @smell_config.merge!({"exclude"=>[]}).should == @base_config }
23
+ it { @smell_config.merge!({"accept"=>["_"]}).should == @base_config }
24
+ it { @smell_config.merge!({"reject"=>[/^.$/, /[0-9]$/, /[A-Z]/]}).should == @base_config }
25
+ it { @smell_config.merge!({"enabled"=>true, "accept"=>["_"]}).should == @base_config }
26
+
27
+ it 'should override single values' do
28
+ @smell_config.merge!({"enabled"=>false}).should == {"enabled"=>false, "exclude"=>[],
29
+ "reject"=>[/^.$/, /[0-9]$/, /[A-Z]/],
30
+ "accept"=>["_"]}
31
+ end
32
+
33
+ it 'should override arrays of values' do
34
+ @smell_config.merge!({"reject"=>[/^.$/, /[3-9]$/]}).should == {"enabled"=>true,
35
+ "exclude"=>[],
36
+ "reject"=>[/^.$/, /[3-9]$/],
37
+ "accept"=>["_"]}
38
+ end
39
+
40
+ it 'should override multiple values' do
41
+ @smell_config.merge!({"enabled"=>false, "accept"=>[/[A-Z]$/]}).should ==
42
+ {"enabled"=>false, "exclude"=>[],
43
+ "reject"=>[/^.$/, /[0-9]$/, /[A-Z]/],
44
+ "accept"=>[/[A-Z]$/]}
45
+ end
46
+ end
11
47
  end
@@ -0,0 +1,14 @@
1
+ # Class containing camelCase variable which would normally smell
2
+ class CamelCase
3
+ def initialize
4
+ # These next two would normally smell if it weren't for overridden config values
5
+ camelCaseVariable = []
6
+ anotherOne = 1
7
+
8
+ # this next one should still smell
9
+ x1 = 0
10
+
11
+ # this next one should not smell
12
+ should_not_smell = true
13
+ end
14
+ end
@@ -0,0 +1,6 @@
1
+ ---
2
+ UncommunicativeVariableName:
3
+ enabled: true
4
+ reject:
5
+ - !ruby/regexp /^.$/
6
+ - !ruby/regexp /[0-9]$/
@@ -0,0 +1,17 @@
1
+ class SomeClass
2
+ def method_with_keyword_arguments(foo: '123')
3
+ if foo == '123'
4
+ bar
5
+ else
6
+ baz
7
+ end
8
+ end
9
+
10
+ def make_symbol_list
11
+ %i(foo bar baz)
12
+ end
13
+
14
+ def make_other_symbol_list
15
+ %I(foo bar baz)
16
+ end
17
+ 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: 1.3.3
4
+ version: 1.3.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kevin Rutherford
@@ -10,28 +10,22 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2013-08-27 00:00:00.000000000 Z
13
+ date: 2013-10-14 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: ruby_parser
17
17
  requirement: !ruby/object:Gem::Requirement
18
18
  requirements:
19
- - - '>='
20
- - !ruby/object:Gem::Version
21
- version: 3.1.1
22
19
  - - ~>
23
20
  - !ruby/object:Gem::Version
24
- version: '3.1'
21
+ version: '3.2'
25
22
  type: :runtime
26
23
  prerelease: false
27
24
  version_requirements: !ruby/object:Gem::Requirement
28
25
  requirements:
29
- - - '>='
30
- - !ruby/object:Gem::Version
31
- version: 3.1.1
32
26
  - - ~>
33
27
  - !ruby/object:Gem::Version
34
- version: '3.1'
28
+ version: '3.2'
35
29
  - !ruby/object:Gem::Dependency
36
30
  name: sexp_processor
37
31
  requirement: !ruby/object:Gem::Requirement
@@ -163,180 +157,184 @@ files:
163
157
  - Rakefile
164
158
  - bin/reek
165
159
  - config/defaults.reek
166
- - features/ruby_api/api.feature
167
- - features/command_line_interface/smells_count.feature
168
- - features/command_line_interface/stdin.feature
169
- - features/command_line_interface/options.feature
170
- - features/step_definitions/reek_steps.rb
171
160
  - features/support/env.rb
161
+ - features/configuration_files/masking_smells.feature
162
+ - features/configuration_files/overrides_defaults.feature
172
163
  - features/samples.feature
173
- - features/reports/reports.feature
174
164
  - features/reports/yaml.feature
175
- - features/configuration_files/masking_smells.feature
165
+ - features/reports/reports.feature
166
+ - features/command_line_interface/options.feature
167
+ - features/command_line_interface/smells_count.feature
168
+ - features/command_line_interface/stdin.feature
169
+ - features/step_definitions/reek_steps.rb
176
170
  - features/rake_task/rake_task.feature
177
- - lib/reek.rb
178
- - lib/reek/spec.rb
171
+ - features/ruby_api/api.feature
179
172
  - lib/reek/spec/should_reek_of.rb
180
173
  - lib/reek/spec/should_reek_only_of.rb
181
174
  - lib/reek/spec/should_reek.rb
175
+ - lib/reek/source/source_code.rb
176
+ - lib/reek/source/code_comment.rb
177
+ - lib/reek/source/source_file.rb
178
+ - lib/reek/source/config_file.rb
179
+ - lib/reek/source/tree_dresser.rb
180
+ - lib/reek/source/source_locator.rb
181
+ - lib/reek/source/reference_collector.rb
182
+ - lib/reek/source/sexp_formatter.rb
183
+ - lib/reek/source/core_extras.rb
184
+ - lib/reek/source/source_repository.rb
185
+ - lib/reek/core/object_refs.rb
186
+ - lib/reek/core/module_context.rb
187
+ - lib/reek/core/smell_repository.rb
188
+ - lib/reek/core/warning_collector.rb
189
+ - lib/reek/core/method_context.rb
190
+ - lib/reek/core/code_parser.rb
191
+ - lib/reek/core/hash_extensions.rb
192
+ - lib/reek/core/stop_context.rb
193
+ - lib/reek/core/singleton_method_context.rb
194
+ - lib/reek/core/code_context.rb
195
+ - lib/reek/core/sniffer.rb
196
+ - lib/reek/core/smell_configuration.rb
197
+ - lib/reek/spec.rb
198
+ - lib/reek/source.rb
199
+ - lib/reek/examiner.rb
200
+ - lib/reek/rake/task.rb
201
+ - lib/reek/smells.rb
202
+ - lib/reek/version.rb
182
203
  - lib/reek/cli/version_command.rb
183
204
  - lib/reek/cli/application.rb
184
- - lib/reek/cli/command_line.rb
185
- - lib/reek/cli/yaml_command.rb
186
- - lib/reek/cli/help_command.rb
187
205
  - lib/reek/cli/report.rb
188
206
  - lib/reek/cli/reek_command.rb
189
- - lib/reek/examiner.rb
190
- - lib/reek/rake/task.rb
191
- - lib/reek/smell_warning.rb
192
- - lib/reek/version.rb
193
- - lib/reek/smells/boolean_parameter.rb
194
- - lib/reek/smells/uncommunicative_parameter_name.rb
195
- - lib/reek/smells/unused_parameters.rb
207
+ - lib/reek/cli/yaml_command.rb
208
+ - lib/reek/cli/command_line.rb
209
+ - lib/reek/cli/help_command.rb
210
+ - lib/reek/smells/irresponsible_module.rb
196
211
  - lib/reek/smells/long_yield_list.rb
197
- - lib/reek/smells/attribute.rb
212
+ - lib/reek/smells/nested_iterators.rb
198
213
  - lib/reek/smells/uncommunicative_method_name.rb
199
- - lib/reek/smells/repeated_conditional.rb
200
- - lib/reek/smells/nil_check.rb
214
+ - lib/reek/smells/boolean_parameter.rb
201
215
  - lib/reek/smells/class_variable.rb
202
- - lib/reek/smells/long_parameter_list.rb
203
- - lib/reek/smells/feature_envy.rb
204
- - lib/reek/smells/irresponsible_module.rb
216
+ - lib/reek/smells/control_parameter.rb
205
217
  - lib/reek/smells/utility_function.rb
206
- - lib/reek/smells/data_clump.rb
218
+ - lib/reek/smells/too_many_instance_variables.rb
207
219
  - lib/reek/smells/too_many_methods.rb
208
- - lib/reek/smells/uncommunicative_variable_name.rb
220
+ - lib/reek/smells/long_parameter_list.rb
221
+ - lib/reek/smells/nil_check.rb
222
+ - lib/reek/smells/attribute.rb
209
223
  - lib/reek/smells/uncommunicative_module_name.rb
210
- - lib/reek/smells/nested_iterators.rb
211
- - lib/reek/smells/control_parameter.rb
212
- - lib/reek/smells/too_many_instance_variables.rb
224
+ - lib/reek/smells/repeated_conditional.rb
225
+ - lib/reek/smells/uncommunicative_parameter_name.rb
213
226
  - lib/reek/smells/smell_detector.rb
214
- - lib/reek/smells/duplicate_method_call.rb
227
+ - lib/reek/smells/feature_envy.rb
215
228
  - lib/reek/smells/too_many_statements.rb
216
- - lib/reek/smells.rb
217
- - lib/reek/source/config_file.rb
218
- - lib/reek/source/source_code.rb
219
- - lib/reek/source/sexp_formatter.rb
220
- - lib/reek/source/source_repository.rb
221
- - lib/reek/source/reference_collector.rb
222
- - lib/reek/source/core_extras.rb
223
- - lib/reek/source/source_file.rb
224
- - lib/reek/source/code_comment.rb
225
- - lib/reek/source/source_locator.rb
226
- - lib/reek/source/tree_dresser.rb
227
- - lib/reek/source.rb
228
- - lib/reek/core/smell_configuration.rb
229
- - lib/reek/core/method_context.rb
230
- - lib/reek/core/code_parser.rb
231
- - lib/reek/core/module_context.rb
232
- - lib/reek/core/stop_context.rb
233
- - lib/reek/core/code_context.rb
234
- - lib/reek/core/sniffer.rb
235
- - lib/reek/core/hash_extensions.rb
236
- - lib/reek/core/smell_repository.rb
237
- - lib/reek/core/object_refs.rb
238
- - lib/reek/core/singleton_method_context.rb
239
- - lib/reek/core/warning_collector.rb
240
- - spec/matchers/smell_of_matcher.rb
241
- - spec/spec_helper.rb
229
+ - lib/reek/smells/uncommunicative_variable_name.rb
230
+ - lib/reek/smells/unused_parameters.rb
231
+ - lib/reek/smells/duplicate_method_call.rb
232
+ - lib/reek/smells/data_clump.rb
233
+ - lib/reek/smell_warning.rb
234
+ - lib/reek.rb
235
+ - spec/gem/yard_spec.rb
236
+ - spec/gem/updates_spec.rb
242
237
  - spec/reek/spec/should_reek_of_spec.rb
243
- - spec/reek/spec/should_reek_spec.rb
244
238
  - spec/reek/spec/should_reek_only_of_spec.rb
239
+ - spec/reek/spec/should_reek_spec.rb
240
+ - spec/reek/source/object_source_spec.rb
241
+ - spec/reek/source/reference_collector_spec.rb
242
+ - spec/reek/source/code_comment_spec.rb
243
+ - spec/reek/source/source_code_spec.rb
244
+ - spec/reek/source/sexp_formatter_spec.rb
245
+ - spec/reek/source/tree_dresser_spec.rb
246
+ - spec/reek/core/module_context_spec.rb
247
+ - spec/reek/core/singleton_method_context_spec.rb
248
+ - spec/reek/core/code_parser_spec.rb
249
+ - spec/reek/core/code_context_spec.rb
250
+ - spec/reek/core/warning_collector_spec.rb
251
+ - spec/reek/core/object_refs_spec.rb
252
+ - spec/reek/core/smell_configuration_spec.rb
253
+ - spec/reek/core/stop_context_spec.rb
254
+ - spec/reek/core/config_spec.rb
255
+ - spec/reek/core/method_context_spec.rb
256
+ - spec/reek/smell_warning_spec.rb
245
257
  - spec/reek/examiner_spec.rb
246
- - spec/reek/cli/help_command_spec.rb
247
- - spec/reek/cli/reek_command_spec.rb
248
258
  - spec/reek/cli/yaml_command_spec.rb
259
+ - spec/reek/cli/reek_command_spec.rb
260
+ - spec/reek/cli/help_command_spec.rb
249
261
  - spec/reek/cli/report_spec.rb
250
262
  - spec/reek/cli/version_command_spec.rb
251
- - spec/reek/smells/boolean_parameter_spec.rb
252
- - spec/reek/smells/uncommunicative_method_name_spec.rb
253
- - spec/reek/smells/uncommunicative_module_name_spec.rb
254
- - spec/reek/smells/too_many_statements_spec.rb
255
- - spec/reek/smells/class_variable_spec.rb
256
- - spec/reek/smells/long_yield_list_spec.rb
257
- - spec/reek/smells/control_parameter_spec.rb
258
263
  - spec/reek/smells/unused_parameters_spec.rb
259
- - spec/reek/smells/uncommunicative_parameter_name_spec.rb
264
+ - spec/reek/smells/irresponsible_module_spec.rb
265
+ - spec/reek/smells/too_many_methods_spec.rb
266
+ - spec/reek/smells/too_many_statements_spec.rb
267
+ - spec/reek/smells/uncommunicative_module_name_spec.rb
268
+ - spec/reek/smells/utility_function_spec.rb
260
269
  - spec/reek/smells/long_parameter_list_spec.rb
270
+ - spec/reek/smells/control_parameter_spec.rb
271
+ - spec/reek/smells/behaves_like_variable_detector.rb
272
+ - spec/reek/smells/class_variable_spec.rb
261
273
  - spec/reek/smells/attribute_spec.rb
274
+ - spec/reek/smells/uncommunicative_variable_name_spec.rb
262
275
  - spec/reek/smells/data_clump_spec.rb
276
+ - spec/reek/smells/uncommunicative_parameter_name_spec.rb
263
277
  - spec/reek/smells/feature_envy_spec.rb
264
278
  - spec/reek/smells/smell_detector_shared.rb
265
- - spec/reek/smells/utility_function_spec.rb
279
+ - spec/reek/smells/nil_check_spec.rb
280
+ - spec/reek/smells/repeated_conditional_spec.rb
281
+ - spec/reek/smells/uncommunicative_method_name_spec.rb
266
282
  - spec/reek/smells/nested_iterators_spec.rb
283
+ - spec/reek/smells/long_yield_list_spec.rb
267
284
  - spec/reek/smells/duplicate_method_call_spec.rb
285
+ - spec/reek/smells/boolean_parameter_spec.rb
268
286
  - spec/reek/smells/too_many_instance_variables_spec.rb
269
- - spec/reek/smells/too_many_methods_spec.rb
270
- - spec/reek/smells/behaves_like_variable_detector.rb
271
- - spec/reek/smells/repeated_conditional_spec.rb
272
- - spec/reek/smells/nil_check_spec.rb
273
- - spec/reek/smells/irresponsible_module_spec.rb
274
- - spec/reek/smells/uncommunicative_variable_name_spec.rb
275
- - spec/reek/smell_warning_spec.rb
276
- - spec/reek/source/reference_collector_spec.rb
277
- - spec/reek/source/tree_dresser_spec.rb
278
- - spec/reek/source/sexp_formatter_spec.rb
279
- - spec/reek/source/code_comment_spec.rb
280
- - spec/reek/source/object_source_spec.rb
281
- - spec/reek/source/source_code_spec.rb
282
- - spec/reek/core/object_refs_spec.rb
283
- - spec/reek/core/warning_collector_spec.rb
284
- - spec/reek/core/stop_context_spec.rb
285
- - spec/reek/core/config_spec.rb
286
- - spec/reek/core/code_parser_spec.rb
287
- - spec/reek/core/smell_configuration_spec.rb
288
- - spec/reek/core/module_context_spec.rb
289
- - spec/reek/core/method_context_spec.rb
290
- - spec/reek/core/code_context_spec.rb
291
- - spec/reek/core/singleton_method_context_spec.rb
292
- - spec/gem/updates_spec.rb
293
- - spec/gem/yard_spec.rb
294
- - spec/samples/three_clean_files/clean_one.rb
287
+ - spec/spec_helper.rb
288
+ - spec/samples/inline_config/dirty.rb
289
+ - spec/samples/inline_config/masked.reek
295
290
  - spec/samples/three_clean_files/clean_two.rb
296
291
  - spec/samples/three_clean_files/clean_three.rb
297
- - spec/samples/config/allow_duplication.reek
298
- - spec/samples/config/deeper_nested_iterators.reek
299
- - spec/samples/overrides/upper.reek
300
- - spec/samples/overrides/masked/dirty.rb
301
- - spec/samples/overrides/masked/lower.reek
302
- - spec/samples/masked_by_dotfile/dirty.rb
292
+ - spec/samples/three_clean_files/clean_one.rb
293
+ - spec/samples/clean_due_to_masking/dirty_one.rb
294
+ - spec/samples/clean_due_to_masking/masked.reek
295
+ - spec/samples/clean_due_to_masking/clean_two.rb
296
+ - spec/samples/clean_due_to_masking/dirty_two.rb
297
+ - spec/samples/clean_due_to_masking/clean_three.rb
298
+ - spec/samples/clean_due_to_masking/clean_one.rb
299
+ - spec/samples/not_quite_masked/dirty.rb
300
+ - spec/samples/not_quite_masked/masked.reek
301
+ - spec/samples/not_quite_masked/smelly.rb
302
+ - spec/samples/optparse.rb
303
+ - spec/samples/all_but_one_masked/dirty.rb
304
+ - spec/samples/all_but_one_masked/masked.reek
305
+ - spec/samples/all_but_one_masked/clean_one.rb
303
306
  - spec/samples/demo/demo.rb
307
+ - spec/samples/exceptions.reek
308
+ - spec/samples/masked_by_dotfile/dirty.rb
309
+ - spec/samples/inline.rb
304
310
  - spec/samples/redcloth.rb
305
- - spec/samples/inline_config/masked.reek
306
- - spec/samples/inline_config/dirty.rb
307
- - spec/samples/corrupt_config_file/corrupt.reek
311
+ - spec/samples/overrides/masked/dirty.rb
312
+ - spec/samples/overrides/masked/lower.reek
313
+ - spec/samples/overrides/upper.reek
314
+ - spec/samples/two_smelly_files/dirty_one.rb
315
+ - spec/samples/two_smelly_files/dirty_two.rb
316
+ - spec/samples/masked/dirty.rb
317
+ - spec/samples/masked/masked.reek
318
+ - spec/samples/config/deeper_nested_iterators.reek
319
+ - spec/samples/config/allow_duplication.reek
320
+ - spec/samples/ruby20_syntax.rb
321
+ - spec/samples/overrides_defaults/camel_case.rb
322
+ - spec/samples/overrides_defaults/config.reek
308
323
  - spec/samples/corrupt_config_file/dirty.rb
324
+ - spec/samples/corrupt_config_file/corrupt.reek
309
325
  - spec/samples/empty_config_file/dirty.rb
310
326
  - spec/samples/empty_config_file/empty.reek
311
- - spec/samples/masked/masked.reek
312
- - spec/samples/masked/dirty.rb
313
- - spec/samples/all_but_one_masked/masked.reek
314
- - spec/samples/all_but_one_masked/clean_one.rb
315
- - spec/samples/all_but_one_masked/dirty.rb
316
- - spec/samples/inline.rb
317
- - spec/samples/mask_some/dirty.rb
318
- - spec/samples/mask_some/some.reek
319
- - spec/samples/not_quite_masked/masked.reek
320
- - spec/samples/not_quite_masked/dirty.rb
321
- - spec/samples/not_quite_masked/smelly.rb
322
- - spec/samples/exceptions.reek
323
- - spec/samples/mixed_results/dirty_two.rb
324
327
  - spec/samples/mixed_results/dirty_one.rb
325
- - spec/samples/mixed_results/clean_one.rb
326
328
  - spec/samples/mixed_results/clean_two.rb
329
+ - spec/samples/mixed_results/dirty_two.rb
327
330
  - spec/samples/mixed_results/clean_three.rb
328
- - spec/samples/clean_due_to_masking/dirty_two.rb
329
- - spec/samples/clean_due_to_masking/masked.reek
330
- - spec/samples/clean_due_to_masking/dirty_one.rb
331
- - spec/samples/clean_due_to_masking/clean_one.rb
332
- - spec/samples/clean_due_to_masking/clean_two.rb
333
- - spec/samples/clean_due_to_masking/clean_three.rb
334
- - spec/samples/optparse.rb
335
- - spec/samples/two_smelly_files/dirty_two.rb
336
- - spec/samples/two_smelly_files/dirty_one.rb
331
+ - spec/samples/mixed_results/clean_one.rb
332
+ - spec/samples/mask_some/dirty.rb
333
+ - spec/samples/mask_some/some.reek
334
+ - spec/matchers/smell_of_matcher.rb
337
335
  - tasks/test.rake
338
- - tasks/reek.rake
339
336
  - tasks/develop.rake
337
+ - tasks/reek.rake
340
338
  - reek.gemspec
341
339
  homepage: http://wiki.github.com/troessner/reek
342
340
  licenses: []
@@ -359,7 +357,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
359
357
  version: '0'
360
358
  requirements: []
361
359
  rubyforge_project: reek
362
- rubygems_version: 2.0.3
360
+ rubygems_version: 2.0.6
363
361
  signing_key:
364
362
  specification_version: 4
365
363
  summary: Code smell detector for Ruby