simplabs-excellent 1.4.0 → 1.4.1

Sign up to get free protection for your applications and to get access to all the features.
data/History.txt CHANGED
@@ -1,3 +1,7 @@
1
+ = 1.4.1
2
+
3
+ * added Rake Task (see Rakefile for example)
4
+
1
5
  = 1.4.0
2
6
 
3
7
  * Excellent not parses *.erb files
data/VERSION.yml CHANGED
@@ -1,4 +1,4 @@
1
1
  ---
2
2
  :major: 1
3
3
  :minor: 4
4
- :patch: 0
4
+ :patch: 1
@@ -9,7 +9,7 @@ module Simplabs #:nodoc:
9
9
 
10
10
  module Excellent #:nodoc:
11
11
 
12
- VERSION = '1.4.0'
12
+ VERSION = '1.4.1'
13
13
 
14
14
  end
15
15
 
@@ -0,0 +1 @@
1
+ require 'simplabs/excellent/rake/excellent_task'
@@ -0,0 +1,65 @@
1
+ require 'rake'
2
+
3
+ module Simplabs
4
+
5
+ module Excellent
6
+
7
+ module Rake
8
+
9
+ # A custom rake task for Excellent.
10
+ class ExcellentTask < ::Rake::TaskLib
11
+
12
+ # The Name of the task, defaults to :excellent.
13
+ attr_accessor :name
14
+
15
+ # The format to use for the output. This is either html:<filename> or nothing
16
+ attr_reader :format
17
+
18
+ # The paths to process (specify file names or directories; will recursively process all ruby files if a directory are given).
19
+ attr_reader :paths
20
+
21
+ # Initializes an ExcellentTask with the name +name+.
22
+ def initialize(name = :excellent)
23
+ @name = name
24
+ @paths = nil || []
25
+ @format = nil
26
+ yield self if block_given?
27
+ define
28
+ end
29
+
30
+ def format=(format) #:nodoc:
31
+ if format =~ /html:[^\s]+/
32
+ @format = format
33
+ else
34
+ raise ArgumentError.new("Invalid format #{format}; only 'html:<filename>' is currently supported!")
35
+ end
36
+ end
37
+
38
+ def paths=(paths) #:nodoc:
39
+ if paths.is_a?(String)
40
+ @paths = [paths]
41
+ elsif paths.is_a?(Array)
42
+ @paths = paths
43
+ else
44
+ raise ArgumentError.new('Specify paths either as a String or as an Array!')
45
+ end
46
+ end
47
+
48
+ def define
49
+ unless ::Rake.application.last_comment
50
+ desc 'Analyse the code with Excellent'
51
+ end
52
+ task name do
53
+ paths = @paths.join(' ')
54
+ system("excellent #{@format} #{paths}")
55
+ $stdout.puts("Wrote result to #{@format.split(':').last}") unless @format.blank?
56
+ end
57
+ end
58
+
59
+ end
60
+
61
+ end
62
+
63
+ end
64
+
65
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: simplabs-excellent
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.0
4
+ version: 1.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Marco Otte-Witte
@@ -106,6 +106,8 @@ files:
106
106
  - lib/simplabs/excellent/parsing/until_context.rb
107
107
  - lib/simplabs/excellent/parsing/while_context.rb
108
108
  - lib/simplabs/excellent/parsing.rb
109
+ - lib/simplabs/excellent/rake/excellent_task.rb
110
+ - lib/simplabs/excellent/rake.rb
109
111
  - lib/simplabs/excellent/runner.rb
110
112
  - lib/simplabs/excellent/warning.rb
111
113
  - lib/simplabs/excellent.rb