reek 2.0.4 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (191) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +13 -0
  3. data/.rubocop.yml +66 -0
  4. data/.ruby-gemset +1 -0
  5. data/.travis.yml +25 -0
  6. data/CHANGELOG +6 -0
  7. data/CONTRIBUTING.md +106 -0
  8. data/Gemfile +14 -0
  9. data/README.md +16 -21
  10. data/bin/reek +2 -2
  11. data/config/cucumber.yml +3 -0
  12. data/config/defaults.reek +1 -1
  13. data/features/command_line_interface/smell_selection.feature +4 -8
  14. data/features/command_line_interface/smells_count.feature +25 -32
  15. data/features/command_line_interface/stdin.feature +2 -2
  16. data/features/configuration_files/masking_smells.feature +30 -41
  17. data/features/configuration_files/overrides_defaults.feature +5 -3
  18. data/features/configuration_loading.feature +26 -23
  19. data/features/programmatic_access.feature +24 -0
  20. data/features/rake_task/rake_task.feature +25 -22
  21. data/features/reports/json.feature +24 -26
  22. data/features/reports/reports.feature +77 -103
  23. data/features/reports/yaml.feature +26 -20
  24. data/features/ruby_api/api.feature +4 -3
  25. data/features/samples.feature +21 -20
  26. data/features/step_definitions/.rubocop.yml +5 -0
  27. data/features/step_definitions/reek_steps.rb +16 -28
  28. data/features/step_definitions/sample_file_steps.rb +158 -0
  29. data/features/support/env.rb +16 -27
  30. data/lib/reek.rb +3 -3
  31. data/lib/reek/cli/application.rb +4 -4
  32. data/lib/reek/cli/command.rb +1 -1
  33. data/lib/reek/cli/input.rb +2 -4
  34. data/lib/reek/cli/option_interpreter.rb +9 -9
  35. data/lib/reek/cli/options.rb +5 -4
  36. data/lib/reek/cli/reek_command.rb +3 -3
  37. data/lib/reek/cli/report/formatter.rb +2 -2
  38. data/lib/reek/cli/report/heading_formatter.rb +1 -1
  39. data/lib/reek/cli/report/location_formatter.rb +1 -1
  40. data/lib/reek/cli/report/report.rb +4 -4
  41. data/lib/reek/configuration/app_configuration.rb +1 -1
  42. data/lib/reek/configuration/configuration_file_finder.rb +17 -32
  43. data/lib/reek/core/code_context.rb +1 -1
  44. data/lib/reek/core/method_context.rb +6 -2
  45. data/lib/reek/core/module_context.rb +2 -2
  46. data/lib/reek/core/singleton_method_context.rb +1 -1
  47. data/lib/reek/core/smell_repository.rb +3 -2
  48. data/lib/reek/core/tree_walker.rb +4 -4
  49. data/lib/reek/examiner.rb +4 -4
  50. data/lib/reek/smells/attribute.rb +3 -3
  51. data/lib/reek/smells/boolean_parameter.rb +2 -2
  52. data/lib/reek/smells/class_variable.rb +2 -2
  53. data/lib/reek/smells/control_parameter.rb +2 -2
  54. data/lib/reek/smells/data_clump.rb +2 -3
  55. data/lib/reek/smells/duplicate_method_call.rb +2 -2
  56. data/lib/reek/smells/feature_envy.rb +6 -2
  57. data/lib/reek/smells/irresponsible_module.rb +3 -3
  58. data/lib/reek/smells/long_parameter_list.rb +3 -3
  59. data/lib/reek/smells/long_yield_list.rb +2 -2
  60. data/lib/reek/smells/module_initialize.rb +2 -2
  61. data/lib/reek/smells/nested_iterators.rb +2 -2
  62. data/lib/reek/smells/nil_check.rb +2 -2
  63. data/lib/reek/smells/prima_donna_method.rb +2 -2
  64. data/lib/reek/smells/repeated_conditional.rb +3 -2
  65. data/lib/reek/smells/smell_detector.rb +2 -2
  66. data/lib/reek/smells/too_many_instance_variables.rb +2 -2
  67. data/lib/reek/smells/too_many_methods.rb +2 -2
  68. data/lib/reek/smells/too_many_statements.rb +2 -2
  69. data/lib/reek/smells/uncommunicative_method_name.rb +2 -2
  70. data/lib/reek/smells/uncommunicative_module_name.rb +2 -2
  71. data/lib/reek/smells/uncommunicative_parameter_name.rb +2 -2
  72. data/lib/reek/smells/uncommunicative_variable_name.rb +2 -2
  73. data/lib/reek/smells/unused_parameters.rb +2 -2
  74. data/lib/reek/smells/utility_function.rb +8 -9
  75. data/lib/reek/source/ast_node.rb +1 -1
  76. data/lib/reek/source/ast_node_class_map.rb +6 -6
  77. data/lib/reek/source/sexp_extensions.rb +11 -2
  78. data/lib/reek/source/source_code.rb +10 -2
  79. data/lib/reek/source/source_locator.rb +1 -3
  80. data/lib/reek/source/source_repository.rb +3 -4
  81. data/lib/reek/source/tree_dresser.rb +2 -2
  82. data/lib/reek/spec.rb +3 -3
  83. data/lib/reek/spec/should_reek.rb +3 -3
  84. data/lib/reek/spec/should_reek_of.rb +1 -1
  85. data/lib/reek/spec/should_reek_only_of.rb +3 -3
  86. data/lib/reek/version.rb +1 -1
  87. data/reek.gemspec +18 -24
  88. data/spec/factories/factories.rb +1 -1
  89. data/spec/gem/updates_spec.rb +1 -1
  90. data/spec/gem/yard_spec.rb +1 -1
  91. data/spec/quality/reek_source_spec.rb +1 -1
  92. data/spec/reek/cli/html_report_spec.rb +6 -9
  93. data/spec/reek/cli/json_report_spec.rb +6 -6
  94. data/spec/reek/cli/option_interperter_spec.rb +5 -5
  95. data/spec/reek/cli/text_report_spec.rb +16 -19
  96. data/spec/reek/cli/yaml_report_spec.rb +7 -10
  97. data/spec/reek/configuration/app_configuration_spec.rb +23 -25
  98. data/spec/reek/configuration/configuration_file_finder_spec.rb +46 -21
  99. data/spec/reek/core/code_context_spec.rb +17 -19
  100. data/spec/reek/core/method_context_spec.rb +15 -14
  101. data/spec/reek/core/module_context_spec.rb +5 -7
  102. data/spec/reek/core/object_refs_spec.rb +4 -6
  103. data/spec/reek/core/singleton_method_context_spec.rb +5 -7
  104. data/spec/reek/core/smell_configuration_spec.rb +5 -7
  105. data/spec/reek/core/smell_repository_spec.rb +8 -8
  106. data/spec/reek/core/stop_context_spec.rb +4 -7
  107. data/spec/reek/core/tree_walker_spec.rb +5 -7
  108. data/spec/reek/core/warning_collector_spec.rb +5 -7
  109. data/spec/reek/examiner_spec.rb +10 -12
  110. data/spec/reek/smell_warning_spec.rb +7 -9
  111. data/spec/reek/smells/attribute_spec.rb +6 -6
  112. data/spec/reek/smells/boolean_parameter_spec.rb +4 -4
  113. data/spec/reek/smells/class_variable_spec.rb +6 -6
  114. data/spec/reek/smells/control_parameter_spec.rb +4 -4
  115. data/spec/reek/smells/data_clump_spec.rb +4 -4
  116. data/spec/reek/smells/duplicate_method_call_spec.rb +6 -6
  117. data/spec/reek/smells/feature_envy_spec.rb +9 -10
  118. data/spec/reek/smells/irresponsible_module_spec.rb +7 -7
  119. data/spec/reek/smells/long_parameter_list_spec.rb +5 -5
  120. data/spec/reek/smells/long_yield_list_spec.rb +5 -5
  121. data/spec/reek/smells/module_initialize_spec.rb +3 -3
  122. data/spec/reek/smells/nested_iterators_spec.rb +4 -4
  123. data/spec/reek/smells/nil_check_spec.rb +5 -5
  124. data/spec/reek/smells/prima_donna_method_spec.rb +7 -4
  125. data/spec/reek/smells/repeated_conditional_spec.rb +12 -11
  126. data/spec/reek/smells/smell_detector_shared.rb +4 -5
  127. data/spec/reek/smells/too_many_instance_variables_spec.rb +4 -4
  128. data/spec/reek/smells/too_many_methods_spec.rb +11 -7
  129. data/spec/reek/smells/too_many_statements_spec.rb +6 -5
  130. data/spec/reek/smells/uncommunicative_method_name_spec.rb +4 -4
  131. data/spec/reek/smells/uncommunicative_module_name_spec.rb +7 -7
  132. data/spec/reek/smells/uncommunicative_parameter_name_spec.rb +5 -5
  133. data/spec/reek/smells/uncommunicative_variable_name_spec.rb +9 -6
  134. data/spec/reek/smells/unused_parameters_spec.rb +3 -3
  135. data/spec/reek/smells/utility_function_spec.rb +41 -37
  136. data/spec/reek/source/code_comment_spec.rb +19 -17
  137. data/spec/reek/source/object_source_spec.rb +1 -3
  138. data/spec/reek/source/reference_collector_spec.rb +5 -6
  139. data/spec/reek/source/sexp_extensions_spec.rb +9 -11
  140. data/spec/reek/source/sexp_formatter_spec.rb +7 -8
  141. data/spec/reek/source/sexp_node_spec.rb +3 -5
  142. data/spec/reek/source/source_code_spec.rb +9 -9
  143. data/spec/reek/source/tree_dresser_spec.rb +4 -6
  144. data/spec/reek/spec/should_reek_of_spec.rb +11 -10
  145. data/spec/reek/spec/should_reek_only_of_spec.rb +4 -7
  146. data/spec/reek/spec/should_reek_spec.rb +4 -7
  147. data/spec/samples/{overrides/masked/lower.reek → masked_by_dotfile/.reek} +3 -1
  148. data/spec/spec_helper.rb +4 -4
  149. data/tasks/develop.rake +1 -1
  150. data/tasks/reek.rake +1 -1
  151. metadata +72 -86
  152. data/features/support/hooks.rb +0 -15
  153. data/lib/reek/source.rb +0 -16
  154. data/lib/reek/source/core_extras.rb +0 -46
  155. data/lib/reek/source/source_file.rb +0 -16
  156. data/spec/samples/config/allow_duplication.reek +0 -3
  157. data/spec/samples/config/deeper_nested_iterators.reek +0 -3
  158. data/spec/samples/configuration_loading/minimal_dirty.rb +0 -4
  159. data/spec/samples/configuration_loading/reek-test-run-disable_smells.reek +0 -7
  160. data/spec/samples/configuration_loading/reek-test-run-enable_smells.reek +0 -7
  161. data/spec/samples/corrupt_config_file/corrupt.reek +0 -1
  162. data/spec/samples/corrupt_config_file/dirty.rb +0 -8
  163. data/spec/samples/demo/demo.rb +0 -8
  164. data/spec/samples/empty_config_file/dirty.rb +0 -8
  165. data/spec/samples/empty_config_file/empty.reek +0 -0
  166. data/spec/samples/inline_config/dirty.rb +0 -16
  167. data/spec/samples/inline_config/masked.reek +0 -7
  168. data/spec/samples/mask_some/dirty.rb +0 -8
  169. data/spec/samples/mask_some/some.reek +0 -8
  170. data/spec/samples/masked/dirty.rb +0 -8
  171. data/spec/samples/masked/masked.reek +0 -5
  172. data/spec/samples/minimal_smelly_and_masked/config.reek +0 -7
  173. data/spec/samples/minimal_smelly_and_masked/minimal_dirty.rb +0 -4
  174. data/spec/samples/mixed_results/clean_one.rb +0 -7
  175. data/spec/samples/mixed_results/clean_three.rb +0 -7
  176. data/spec/samples/mixed_results/clean_two.rb +0 -7
  177. data/spec/samples/mixed_results/dirty_one.rb +0 -8
  178. data/spec/samples/mixed_results/dirty_two.rb +0 -8
  179. data/spec/samples/not_quite_masked/dirty.rb +0 -8
  180. data/spec/samples/not_quite_masked/masked.reek +0 -5
  181. data/spec/samples/not_quite_masked/smelly.rb +0 -3
  182. data/spec/samples/one_smelly_file/dirty.rb +0 -3
  183. data/spec/samples/overrides/masked/dirty.rb +0 -8
  184. data/spec/samples/overrides/upper.reek +0 -5
  185. data/spec/samples/overrides_defaults/camel_case.rb +0 -14
  186. data/spec/samples/overrides_defaults/config.reek +0 -6
  187. data/spec/samples/standard_smelly/dirty.rb +0 -8
  188. data/spec/samples/standard_smelly/minimal_dirty.rb +0 -4
  189. data/spec/samples/three_smelly_files/dirty_one.rb +0 -3
  190. data/spec/samples/three_smelly_files/dirty_three.rb +0 -5
  191. data/spec/samples/three_smelly_files/dirty_two.rb +0 -4
@@ -1,12 +1,10 @@
1
- require 'spec_helper'
2
- require 'reek/source/tree_dresser'
1
+ require_relative '../../spec_helper'
2
+ require_relative '../../../lib/reek/source/tree_dresser'
3
3
 
4
- include Reek::Source
5
-
6
- describe TreeDresser do
4
+ describe Reek::Source::TreeDresser do
7
5
  let(:ifnode) { Parser::AST::Node.new(:if) }
8
6
  let(:sendnode) { Parser::AST::Node.new(:send) }
9
- let(:dresser) { TreeDresser.new }
7
+ let(:dresser) { Reek::Source::TreeDresser.new }
10
8
 
11
9
  it 'dresses :if sexp with IfNode' do
12
10
  expect(dresser.dress(ifnode, {})).to be_a Reek::Source::SexpExtensions::IfNode
@@ -1,10 +1,7 @@
1
- require 'spec_helper'
2
- require 'reek/spec'
1
+ require_relative '../../spec_helper'
2
+ require_relative '../../../lib/reek/spec'
3
3
 
4
- include Reek
5
- include Reek::Spec
6
-
7
- describe ShouldReekOf do
4
+ describe Reek::Spec::ShouldReekOf do
8
5
  context 'rdoc demo example' do
9
6
  before :each do
10
7
  @ruby = 'def double_thing() @other.thing.foo + @other.thing.foo end'
@@ -27,7 +24,8 @@ describe ShouldReekOf do
27
24
  before :each do
28
25
  @clean_code = 'def good() true; end'
29
26
  @smelly_code = 'def x() y = 4; end'
30
- @matcher = ShouldReekOf.new(:UncommunicativeVariableName, name: 'y')
27
+ @matcher = Reek::Spec::ShouldReekOf.new(:UncommunicativeVariableName,
28
+ name: 'y')
31
29
  end
32
30
 
33
31
  it 'matches a smelly String' do
@@ -47,7 +45,8 @@ describe ShouldReekOf do
47
45
  context 'passing in smell_details with unknown parameter name' do
48
46
  before :each do
49
47
  @smelly_code = 'def x() y = 4; end'
50
- @matcher = ShouldReekOf.new(:UncommunicativeVariableName, foo: 'y')
48
+ @matcher = Reek::Spec::ShouldReekOf.new(:UncommunicativeVariableName,
49
+ foo: 'y')
51
50
  end
52
51
 
53
52
  it 'raises ArgumentError' do
@@ -59,7 +58,8 @@ describe ShouldReekOf do
59
58
  before :each do
60
59
  @clean_dir = Dir['spec/samples/three_clean_files/*.rb']
61
60
  @smelly_dir = Dir['spec/samples/two_smelly_files/*.rb']
62
- @matcher = ShouldReekOf.new(:UncommunicativeVariableName, name: '@s')
61
+ @matcher = Reek::Spec::ShouldReekOf.new(:UncommunicativeVariableName,
62
+ name: '@s')
63
63
  end
64
64
 
65
65
  it 'matches a smelly String' do
@@ -75,7 +75,8 @@ describe ShouldReekOf do
75
75
  before :each do
76
76
  @clean_file = File.new(Dir['spec/samples/three_clean_files/*.rb'][0])
77
77
  @smelly_file = File.new(Dir['spec/samples/two_smelly_files/*.rb'][0])
78
- @matcher = ShouldReekOf.new(:UncommunicativeVariableName, name: '@s')
78
+ @matcher = Reek::Spec::ShouldReekOf.new(:UncommunicativeVariableName,
79
+ name: '@s')
79
80
  end
80
81
 
81
82
  it 'matches a smelly String' do
@@ -1,14 +1,11 @@
1
- require 'spec_helper'
2
- require 'reek/spec'
1
+ require_relative '../../spec_helper'
2
+ require_relative '../../../lib/reek/spec'
3
3
 
4
- include Reek
5
- include Reek::Spec
6
-
7
- describe ShouldReekOnlyOf do
4
+ describe Reek::Spec::ShouldReekOnlyOf do
8
5
  before :each do
9
6
  @expected_smell_type = :NestedIterators
10
7
  @expected_context_name = 'SmellyClass#big_method'
11
- @matcher = ShouldReekOnlyOf.new(@expected_smell_type)
8
+ @matcher = Reek::Spec::ShouldReekOnlyOf.new(@expected_smell_type)
12
9
  @examiner = double('examiner').as_null_object
13
10
  expect(@examiner).to receive(:smells) { smells }
14
11
  @match = @matcher.matches_examiner?(@examiner)
@@ -1,11 +1,8 @@
1
- require 'spec_helper'
2
- require 'reek/spec'
1
+ require_relative '../../spec_helper'
2
+ require_relative '../../../lib/reek/spec'
3
3
 
4
- include Reek
5
- include Reek::Spec
6
-
7
- describe ShouldReek do
8
- let(:matcher) { ShouldReek.new }
4
+ describe Reek::Spec::ShouldReek do
5
+ let(:matcher) { Reek::Spec::ShouldReek.new }
9
6
 
10
7
  describe 'checking code in a string' do
11
8
  let(:clean_code) { 'def good() true; end' }
@@ -1,7 +1,9 @@
1
1
  ---
2
2
  DuplicateMethodCall:
3
- enabled: true
3
+ enabled: false
4
4
  UncommunicativeVariableName:
5
5
  enabled: false
6
6
  UncommunicativeMethodName:
7
7
  enabled: false
8
+ UncommunicativeParameterName:
9
+ enabled: false
@@ -1,6 +1,6 @@
1
- require 'reek/spec'
2
- require 'reek/source/ast_node_class_map'
3
- require 'reek/configuration/app_configuration'
1
+ require_relative '../lib/reek/spec'
2
+ require_relative '../lib/reek/source/ast_node_class_map'
3
+ require_relative '../lib/reek/configuration/app_configuration'
4
4
 
5
5
  require 'factory_girl'
6
6
 
@@ -31,7 +31,7 @@ module Helpers
31
31
 
32
32
  # :reek:UncommunicativeMethodName
33
33
  def s(type, *children)
34
- @klass_map ||= Reek::Source::AstNodeClassMap.new
34
+ @klass_map ||= Reek::Source::ASTNodeClassMap.new
35
35
  @klass_map.klass_for(type).new(type, children)
36
36
  end
37
37
 
@@ -1,5 +1,5 @@
1
1
  require 'rake/clean'
2
- require 'reek/core/smell_repository'
2
+ require_relative '../lib/reek/core/smell_repository'
3
3
 
4
4
  CONFIG_FILE = 'config/defaults.reek'
5
5
 
@@ -1,4 +1,4 @@
1
- require 'reek/rake/task'
1
+ require_relative '../lib/reek/rake/task'
2
2
 
3
3
  Reek::Rake::Task.new do |t|
4
4
  t.fail_on_error = true
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: 2.0.4
4
+ version: 2.1.0
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-04-07 00:00:00.000000000 Z
13
+ date: 2015-04-17 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: parser
@@ -26,6 +26,34 @@ dependencies:
26
26
  - - "~>"
27
27
  - !ruby/object:Gem::Version
28
28
  version: '2.2'
29
+ - !ruby/object:Gem::Dependency
30
+ name: rainbow
31
+ requirement: !ruby/object:Gem::Requirement
32
+ requirements:
33
+ - - "~>"
34
+ - !ruby/object:Gem::Version
35
+ version: '2.0'
36
+ type: :runtime
37
+ prerelease: false
38
+ version_requirements: !ruby/object:Gem::Requirement
39
+ requirements:
40
+ - - "~>"
41
+ - !ruby/object:Gem::Version
42
+ version: '2.0'
43
+ - !ruby/object:Gem::Dependency
44
+ name: require_all
45
+ requirement: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - "~>"
48
+ - !ruby/object:Gem::Version
49
+ version: '1.3'
50
+ type: :runtime
51
+ prerelease: false
52
+ version_requirements: !ruby/object:Gem::Requirement
53
+ requirements:
54
+ - - "~>"
55
+ - !ruby/object:Gem::Version
56
+ version: '1.3'
29
57
  - !ruby/object:Gem::Dependency
30
58
  name: unparser
31
59
  requirement: !ruby/object:Gem::Requirement
@@ -41,33 +69,33 @@ dependencies:
41
69
  - !ruby/object:Gem::Version
42
70
  version: 0.2.2
43
71
  - !ruby/object:Gem::Dependency
44
- name: rainbow
72
+ name: activesupport
45
73
  requirement: !ruby/object:Gem::Requirement
46
74
  requirements:
47
75
  - - "~>"
48
76
  - !ruby/object:Gem::Version
49
- version: '2.0'
50
- type: :runtime
77
+ version: '4.2'
78
+ type: :development
51
79
  prerelease: false
52
80
  version_requirements: !ruby/object:Gem::Requirement
53
81
  requirements:
54
82
  - - "~>"
55
83
  - !ruby/object:Gem::Version
56
- version: '2.0'
84
+ version: '4.2'
57
85
  - !ruby/object:Gem::Dependency
58
- name: require_all
86
+ name: aruba
59
87
  requirement: !ruby/object:Gem::Requirement
60
88
  requirements:
61
89
  - - "~>"
62
90
  - !ruby/object:Gem::Version
63
- version: '1.3'
64
- type: :runtime
91
+ version: 0.6.2
92
+ type: :development
65
93
  prerelease: false
66
94
  version_requirements: !ruby/object:Gem::Requirement
67
95
  requirements:
68
96
  - - "~>"
69
97
  - !ruby/object:Gem::Version
70
- version: '1.3'
98
+ version: 0.6.2
71
99
  - !ruby/object:Gem::Dependency
72
100
  name: bundler
73
101
  requirement: !ruby/object:Gem::Requirement
@@ -83,101 +111,89 @@ dependencies:
83
111
  - !ruby/object:Gem::Version
84
112
  version: '1.1'
85
113
  - !ruby/object:Gem::Dependency
86
- name: rake
114
+ name: cucumber
87
115
  requirement: !ruby/object:Gem::Requirement
88
116
  requirements:
89
117
  - - "~>"
90
118
  - !ruby/object:Gem::Version
91
- version: '10.0'
119
+ version: '2.0'
92
120
  type: :development
93
121
  prerelease: false
94
122
  version_requirements: !ruby/object:Gem::Requirement
95
123
  requirements:
96
124
  - - "~>"
97
125
  - !ruby/object:Gem::Version
98
- version: '10.0'
126
+ version: '2.0'
99
127
  - !ruby/object:Gem::Dependency
100
- name: cucumber
128
+ name: factory_girl
101
129
  requirement: !ruby/object:Gem::Requirement
102
130
  requirements:
103
131
  - - "~>"
104
132
  - !ruby/object:Gem::Version
105
- version: '1.3'
106
- - - ">="
107
- - !ruby/object:Gem::Version
108
- version: 1.3.18
133
+ version: '4.0'
109
134
  type: :development
110
135
  prerelease: false
111
136
  version_requirements: !ruby/object:Gem::Requirement
112
137
  requirements:
113
138
  - - "~>"
114
139
  - !ruby/object:Gem::Version
115
- version: '1.3'
116
- - - ">="
117
- - !ruby/object:Gem::Version
118
- version: 1.3.18
140
+ version: '4.0'
119
141
  - !ruby/object:Gem::Dependency
120
- name: rspec
142
+ name: rake
121
143
  requirement: !ruby/object:Gem::Requirement
122
144
  requirements:
123
145
  - - "~>"
124
146
  - !ruby/object:Gem::Version
125
- version: '3.0'
147
+ version: '10.0'
126
148
  type: :development
127
149
  prerelease: false
128
150
  version_requirements: !ruby/object:Gem::Requirement
129
151
  requirements:
130
152
  - - "~>"
131
153
  - !ruby/object:Gem::Version
132
- version: '3.0'
154
+ version: '10.0'
133
155
  - !ruby/object:Gem::Dependency
134
- name: yard
156
+ name: rspec
135
157
  requirement: !ruby/object:Gem::Requirement
136
158
  requirements:
137
- - - ">="
138
- - !ruby/object:Gem::Version
139
- version: 0.8.7
140
- - - "<"
159
+ - - "~>"
141
160
  - !ruby/object:Gem::Version
142
- version: '0.9'
161
+ version: '3.0'
143
162
  type: :development
144
163
  prerelease: false
145
164
  version_requirements: !ruby/object:Gem::Requirement
146
165
  requirements:
147
- - - ">="
148
- - !ruby/object:Gem::Version
149
- version: 0.8.7
150
- - - "<"
166
+ - - "~>"
151
167
  - !ruby/object:Gem::Version
152
- version: '0.9'
168
+ version: '3.0'
153
169
  - !ruby/object:Gem::Dependency
154
- name: factory_girl
170
+ name: rubocop
155
171
  requirement: !ruby/object:Gem::Requirement
156
172
  requirements:
157
173
  - - "~>"
158
174
  - !ruby/object:Gem::Version
159
- version: '4.0'
175
+ version: 0.30.0
160
176
  type: :development
161
177
  prerelease: false
162
178
  version_requirements: !ruby/object:Gem::Requirement
163
179
  requirements:
164
180
  - - "~>"
165
181
  - !ruby/object:Gem::Version
166
- version: '4.0'
182
+ version: 0.30.0
167
183
  - !ruby/object:Gem::Dependency
168
- name: rubocop
184
+ name: yard
169
185
  requirement: !ruby/object:Gem::Requirement
170
186
  requirements:
171
187
  - - "~>"
172
188
  - !ruby/object:Gem::Version
173
- version: 0.29.0
189
+ version: 0.8.7
174
190
  type: :development
175
191
  prerelease: false
176
192
  version_requirements: !ruby/object:Gem::Requirement
177
193
  requirements:
178
194
  - - "~>"
179
195
  - !ruby/object:Gem::Version
180
- version: 0.29.0
196
+ version: 0.8.7
181
197
  description: |2
182
198
  Reek is a tool that examines Ruby classes, modules and methods and reports
183
199
  any code smells it finds.
@@ -190,13 +206,20 @@ extra_rdoc_files:
190
206
  - CHANGELOG
191
207
  - License.txt
192
208
  files:
209
+ - ".gitignore"
210
+ - ".rubocop.yml"
211
+ - ".ruby-gemset"
212
+ - ".travis.yml"
193
213
  - ".yardopts"
194
214
  - CHANGELOG
215
+ - CONTRIBUTING.md
216
+ - Gemfile
195
217
  - License.txt
196
218
  - README.md
197
219
  - Rakefile
198
220
  - assets/html_output.html.erb
199
221
  - bin/reek
222
+ - config/cucumber.yml
200
223
  - config/defaults.reek
201
224
  - features/command_line_interface/options.feature
202
225
  - features/command_line_interface/smell_selection.feature
@@ -205,15 +228,17 @@ files:
205
228
  - features/configuration_files/masking_smells.feature
206
229
  - features/configuration_files/overrides_defaults.feature
207
230
  - features/configuration_loading.feature
231
+ - features/programmatic_access.feature
208
232
  - features/rake_task/rake_task.feature
209
233
  - features/reports/json.feature
210
234
  - features/reports/reports.feature
211
235
  - features/reports/yaml.feature
212
236
  - features/ruby_api/api.feature
213
237
  - features/samples.feature
238
+ - features/step_definitions/.rubocop.yml
214
239
  - features/step_definitions/reek_steps.rb
240
+ - features/step_definitions/sample_file_steps.rb
215
241
  - features/support/env.rb
216
- - features/support/hooks.rb
217
242
  - lib/reek.rb
218
243
  - lib/reek/cli/application.rb
219
244
  - lib/reek/cli/command.rb
@@ -266,17 +291,14 @@ files:
266
291
  - lib/reek/smells/uncommunicative_variable_name.rb
267
292
  - lib/reek/smells/unused_parameters.rb
268
293
  - lib/reek/smells/utility_function.rb
269
- - lib/reek/source.rb
270
294
  - lib/reek/source/ast_node.rb
271
295
  - lib/reek/source/ast_node_class_map.rb
272
296
  - lib/reek/source/code_comment.rb
273
- - lib/reek/source/core_extras.rb
274
297
  - lib/reek/source/reference_collector.rb
275
298
  - lib/reek/source/sexp_extensions.rb
276
299
  - lib/reek/source/sexp_formatter.rb
277
300
  - lib/reek/source/sexp_node.rb
278
301
  - lib/reek/source/source_code.rb
279
- - lib/reek/source/source_file.rb
280
302
  - lib/reek/source/source_locator.rb
281
303
  - lib/reek/source/source_repository.rb
282
304
  - lib/reek/source/tree_dresser.rb
@@ -355,55 +377,19 @@ files:
355
377
  - spec/samples/clean_due_to_masking/dirty_one.rb
356
378
  - spec/samples/clean_due_to_masking/dirty_two.rb
357
379
  - spec/samples/clean_due_to_masking/masked.reek
358
- - spec/samples/config/allow_duplication.reek
359
- - spec/samples/config/deeper_nested_iterators.reek
360
- - spec/samples/configuration_loading/minimal_dirty.rb
361
- - spec/samples/configuration_loading/reek-test-run-disable_smells.reek
362
- - spec/samples/configuration_loading/reek-test-run-enable_smells.reek
363
- - spec/samples/corrupt_config_file/corrupt.reek
364
- - spec/samples/corrupt_config_file/dirty.rb
365
- - spec/samples/demo/demo.rb
366
- - spec/samples/empty_config_file/dirty.rb
367
- - spec/samples/empty_config_file/empty.reek
368
380
  - spec/samples/exceptions.reek
369
381
  - spec/samples/inline.rb
370
- - spec/samples/inline_config/dirty.rb
371
- - spec/samples/inline_config/masked.reek
372
- - spec/samples/mask_some/dirty.rb
373
- - spec/samples/mask_some/some.reek
374
- - spec/samples/masked/dirty.rb
375
- - spec/samples/masked/masked.reek
382
+ - spec/samples/masked_by_dotfile/.reek
376
383
  - spec/samples/masked_by_dotfile/dirty.rb
377
- - spec/samples/minimal_smelly_and_masked/config.reek
378
- - spec/samples/minimal_smelly_and_masked/minimal_dirty.rb
379
- - spec/samples/mixed_results/clean_one.rb
380
- - spec/samples/mixed_results/clean_three.rb
381
- - spec/samples/mixed_results/clean_two.rb
382
- - spec/samples/mixed_results/dirty_one.rb
383
- - spec/samples/mixed_results/dirty_two.rb
384
384
  - spec/samples/no_config_file/dirty.rb
385
- - spec/samples/not_quite_masked/dirty.rb
386
- - spec/samples/not_quite_masked/masked.reek
387
- - spec/samples/not_quite_masked/smelly.rb
388
- - spec/samples/one_smelly_file/dirty.rb
389
385
  - spec/samples/optparse.rb
390
- - spec/samples/overrides/masked/dirty.rb
391
- - spec/samples/overrides/masked/lower.reek
392
- - spec/samples/overrides/upper.reek
393
- - spec/samples/overrides_defaults/camel_case.rb
394
- - spec/samples/overrides_defaults/config.reek
395
386
  - spec/samples/redcloth.rb
396
387
  - spec/samples/ruby20_syntax.rb
397
388
  - spec/samples/ruby21_syntax.rb
398
389
  - spec/samples/simple_configuration.reek
399
- - spec/samples/standard_smelly/dirty.rb
400
- - spec/samples/standard_smelly/minimal_dirty.rb
401
390
  - spec/samples/three_clean_files/clean_one.rb
402
391
  - spec/samples/three_clean_files/clean_three.rb
403
392
  - spec/samples/three_clean_files/clean_two.rb
404
- - spec/samples/three_smelly_files/dirty_one.rb
405
- - spec/samples/three_smelly_files/dirty_three.rb
406
- - spec/samples/three_smelly_files/dirty_two.rb
407
393
  - spec/samples/two_smelly_files/dirty_one.rb
408
394
  - spec/samples/two_smelly_files/dirty_two.rb
409
395
  - spec/spec_helper.rb
@@ -411,7 +397,7 @@ files:
411
397
  - tasks/reek.rake
412
398
  - tasks/rubocop.rake
413
399
  - tasks/test.rake
414
- homepage: https://wiki.github.com/troessner/reek
400
+ homepage: https://github.com/troessner/reek/wiki
415
401
  licenses:
416
402
  - MIT
417
403
  metadata: {}
@@ -434,8 +420,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
434
420
  - !ruby/object:Gem::Version
435
421
  version: '0'
436
422
  requirements: []
437
- rubyforge_project: reek
438
- rubygems_version: 2.4.4
423
+ rubyforge_project:
424
+ rubygems_version: 2.2.2
439
425
  signing_key:
440
426
  specification_version: 4
441
427
  summary: Code smell detector for Ruby