roodi 1.3.2 → 1.3.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. data/Manifest.txt +1 -0
  2. data/lib/roodi.rb +1 -1
  3. data/lib/roodi_task.rb +37 -0
  4. metadata +5 -4
data/Manifest.txt CHANGED
@@ -5,6 +5,7 @@ Rakefile
5
5
  bin/roodi
6
6
  bin/roodi-describe
7
7
  lib/roodi.rb
8
+ lib/roodi_task.rb
8
9
  lib/roodi/checks.rb
9
10
  lib/roodi/checks/abc_metric_method_check.rb
10
11
  lib/roodi/checks/assignment_in_conditional_check.rb
data/lib/roodi.rb CHANGED
@@ -2,5 +2,5 @@ require 'roodi/checks'
2
2
  require 'roodi/core'
3
3
 
4
4
  module Roodi
5
- VERSION = '1.3.2'
5
+ VERSION = '1.3.3'
6
6
  end
data/lib/roodi_task.rb ADDED
@@ -0,0 +1,37 @@
1
+ class RoodiTask < Rake::TaskLib
2
+ attr_accessor :name
3
+ attr_accessor :patterns
4
+ attr_accessor :config
5
+ attr_accessor :verbose
6
+
7
+ def initialize name = :roodi, patterns = nil, config nil
8
+ @name = name
9
+ @patterns = patterns || %w(app/**/*.rb lib/**/*.rb spec/**/*.rb test/**/*.rb)
10
+ @config = config
11
+ @verbose = Rake.application.options.trace
12
+
13
+ yield self if block_given?
14
+
15
+ @dirs.reject! { |f| ! File.directory? f }
16
+
17
+ define
18
+ end
19
+
20
+ def define
21
+ desc "Check for design issues in: #{patterns.join(', ')}"
22
+ task name do
23
+ runner = Roodi::Core::ParseTreeRunner.new
24
+
25
+ runner.config = config if config
26
+
27
+ patterns.each do |pattern|
28
+ Dir.glob(pattern).each { |file| runner.check_file(file) }
29
+ end
30
+
31
+ runner.errors.each {|error| puts error}
32
+
33
+ raise "Found #{runner.errors.size} errors." if runner.errors
34
+ end
35
+ self
36
+ end
37
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: roodi
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.2
4
+ version: 1.3.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Marty Andrews
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-03-07 00:00:00 +11:00
12
+ date: 2009-04-10 00:00:00 +10:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -40,7 +40,7 @@ dependencies:
40
40
  requirements:
41
41
  - - ">="
42
42
  - !ruby/object:Gem::Version
43
- version: 1.8.2
43
+ version: 1.11.0
44
44
  version:
45
45
  description: Roodi stands for Ruby Object Oriented Design Inferometer. It parses your Ruby code and warns you about design issues you have based on the checks that is has configured.
46
46
  email:
@@ -62,6 +62,7 @@ files:
62
62
  - bin/roodi
63
63
  - bin/roodi-describe
64
64
  - lib/roodi.rb
65
+ - lib/roodi_task.rb
65
66
  - lib/roodi/checks.rb
66
67
  - lib/roodi/checks/abc_metric_method_check.rb
67
68
  - lib/roodi/checks/assignment_in_conditional_check.rb
@@ -131,7 +132,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
131
132
  requirements: []
132
133
 
133
134
  rubyforge_project: roodi
134
- rubygems_version: 1.2.0
135
+ rubygems_version: 1.3.1
135
136
  signing_key:
136
137
  specification_version: 2
137
138
  summary: Roodi stands for Ruby Object Oriented Design Inferometer