kevinrutherford-reek 1.1.3.3 → 1.1.3.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -34,8 +34,12 @@ module Reek
34
34
  }
35
35
  end
36
36
 
37
+ def self.create(config)
38
+ new(config[class_name])
39
+ end
40
+
37
41
  def self.listen(hooks, config)
38
- detector = new(config[class_name])
42
+ detector = create(config)
39
43
  contexts.each { |ctx| hooks[ctx] << detector }
40
44
  detector
41
45
  end
@@ -51,6 +55,20 @@ module Reek
51
55
  @masked = true
52
56
  end
53
57
 
58
+ def enabled?
59
+ @enabled
60
+ end
61
+
62
+ def configure(config)
63
+ my_part = config[self.class.name.split(/::/)[-1]]
64
+ return unless my_part
65
+ configure_with(my_part)
66
+ end
67
+
68
+ def configure_with(config)
69
+ @enabled = config[ENABLED_KEY] # if config.has_key?(ENABLED_KEY)
70
+ end
71
+
54
72
  def examine(context)
55
73
  before = @smells_found.size
56
74
  examine_context(context) if @enabled and !exception?(context)
data/lib/reek.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  $:.unshift File.dirname(__FILE__)
2
2
 
3
3
  module Reek # :doc:
4
- VERSION = '1.1.3.3'
4
+ VERSION = '1.1.3.4'
5
5
  end
data/reek.gemspec CHANGED
@@ -2,11 +2,11 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{reek}
5
- s.version = "1.1.3.3"
5
+ s.version = "1.1.3.4"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["Kevin Rutherford"]
9
- s.date = %q{2009-06-17}
9
+ s.date = %q{2009-06-19}
10
10
  s.default_executable = %q{reek}
11
11
  s.description = %q{Code smell detector for Ruby}
12
12
  s.email = ["kevin@rutherford-software.com"]
@@ -2,6 +2,7 @@ require File.dirname(__FILE__) + '/../../spec_helper.rb'
2
2
 
3
3
  require 'reek/report'
4
4
  require 'reek/smells/duplication'
5
+ require 'reek/smells/large_class'
5
6
 
6
7
  include Reek
7
8
  include Reek::Smells
@@ -21,3 +22,18 @@ describe SmellDetector, 'when masked' do
21
22
  end
22
23
  end
23
24
 
25
+ describe SmellDetector, 'configuration' do
26
+ # it 'stays enabled when not disabled' do
27
+ # @detector = LargeClass.new
28
+ # @detector.should be_enabled
29
+ # @detector.configure({'LargeClass' => {'max_methods' => 50}})
30
+ # @detector.should be_enabled
31
+ # end
32
+
33
+ it 'becomes disabled when disabled' do
34
+ @detector = LargeClass.new
35
+ @detector.should be_enabled
36
+ @detector.configure({'LargeClass' => {'enabled' => false}})
37
+ @detector.should_not be_enabled
38
+ end
39
+ end
data/tasks/reek.rake CHANGED
@@ -1,7 +1,10 @@
1
- require 'reek/rake_task'
1
+ begin
2
+ require 'reek/rake_task'
2
3
 
3
- Reek::RakeTask.new do |t|
4
- t.fail_on_error = true
5
- t.verbose = false
6
- # t.reek_opts = '-f "Smell: %s: %c %w"'
4
+ Reek::RakeTask.new do |t|
5
+ t.fail_on_error = true
6
+ t.verbose = false
7
+ # t.reek_opts = '-f "Smell: %s: %c %w"'
8
+ end
9
+ rescue Gem::LoadError
7
10
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kevinrutherford-reek
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.3.3
4
+ version: 1.1.3.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kevin Rutherford
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-06-17 00:00:00 -07:00
12
+ date: 2009-06-19 00:00:00 -07:00
13
13
  default_executable: reek
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency