coco 0.4.2 → 0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.rdoc +12 -10
- data/Rakefile +13 -2
- data/VERSION +1 -1
- data/lib/coco/helpers.rb +6 -0
- data/lib/coco/lister/source_lister.rb +15 -6
- metadata +7 -9
data/README.rdoc
CHANGED
@@ -1,19 +1,17 @@
|
|
1
1
|
= coco
|
2
2
|
|
3
|
-
Another
|
4
|
-
This one suits my needs.
|
3
|
+
Another code coverage for ruby 1.9 (from the famous post of Aaron Patterson).
|
5
4
|
|
6
5
|
== Features
|
7
|
-
* Use it from rspec with a simple <code>require 'coco'</code>
|
8
|
-
* Display filenames covered
|
9
|
-
*
|
6
|
+
* Use it from rspec or test/unit with a simple <code>require 'coco'</code>
|
7
|
+
* Display filenames covered less than 90% on console
|
8
|
+
* <em>Simple</em> html report <em>only</em> for files covered less than 90%
|
10
9
|
* Report sources that have no tests
|
11
10
|
* UTF-8 compliant
|
12
|
-
*
|
11
|
+
* Configurable via a simple yaml file
|
13
12
|
* Colorized console output (*nix only)
|
14
13
|
|
15
|
-
<em>Note: I have tested coco only on debian linux
|
16
|
-
framework.</em>
|
14
|
+
<em>Note: I have tested coco only on debian linux.</em>
|
17
15
|
|
18
16
|
== Documentation
|
19
17
|
|
@@ -32,12 +30,16 @@ ruby >= 1.9.2
|
|
32
30
|
|
33
31
|
To contribute:
|
34
32
|
|
35
|
-
* reek
|
36
33
|
* rspec
|
34
|
+
* reek
|
35
|
+
* flay
|
37
36
|
|
38
37
|
== Installing coco
|
39
|
-
|
38
|
+
From the sources:
|
40
39
|
rake install
|
40
|
+
|
41
|
+
From rubygems:
|
42
|
+
gem install coco
|
41
43
|
|
42
44
|
== License
|
43
45
|
GPLv3, see COPYING.
|
data/Rakefile
CHANGED
@@ -3,6 +3,11 @@
|
|
3
3
|
require 'rake'
|
4
4
|
require 'rspec/core/rake_task'
|
5
5
|
|
6
|
+
def ruby_files_for_shell
|
7
|
+
files = Dir.glob 'lib/**/*.rb'
|
8
|
+
files.join(' ')
|
9
|
+
end
|
10
|
+
|
6
11
|
desc 'Test coco'
|
7
12
|
task :default => :spec
|
8
13
|
|
@@ -14,11 +19,17 @@ end
|
|
14
19
|
desc 'Check for code smells'
|
15
20
|
task :reek do
|
16
21
|
puts 'Checking for code smells...'
|
17
|
-
|
18
|
-
args = files.join(' ')
|
22
|
+
args = ruby_files_for_shell
|
19
23
|
sh "reek --quiet #{args} | ./reek.sed"
|
20
24
|
end
|
21
25
|
|
26
|
+
desc 'Check for duplicate code'
|
27
|
+
task :flay do
|
28
|
+
puts 'Check for duplicate code...'
|
29
|
+
args = ruby_files_for_shell
|
30
|
+
exec "flay #{args}"
|
31
|
+
end
|
32
|
+
|
22
33
|
desc 'Build the gem & install it'
|
23
34
|
task :install do
|
24
35
|
sh "gem build coco.gemspec"
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.5
|
data/lib/coco/helpers.rb
CHANGED
@@ -31,6 +31,12 @@ module Coco
|
|
31
31
|
files.map {|file| File.expand_path file}
|
32
32
|
end
|
33
33
|
|
34
|
+
# @return [Array<String>] The list of ruby source files from +directory+. Recursive.
|
35
|
+
def Helpers.rb_files_from directory
|
36
|
+
rb_files = File.join(directory, "**", "*.rb")
|
37
|
+
Dir.glob(rb_files)
|
38
|
+
end
|
39
|
+
|
34
40
|
end
|
35
41
|
|
36
42
|
end
|
@@ -29,16 +29,25 @@ module Coco
|
|
29
29
|
private
|
30
30
|
|
31
31
|
def look_for_sources
|
32
|
-
@folders.each
|
33
|
-
rb_files = File.join(folder, "**", "*.rb")
|
34
|
-
@list += Dir.glob(rb_files)
|
35
|
-
end
|
32
|
+
@folders.each {|folder| @list += Helpers.rb_files_from folder }
|
36
33
|
end
|
37
34
|
|
38
35
|
def exclude_files_user_dont_want
|
39
|
-
return if
|
36
|
+
return if @exclude_files.nil?
|
37
|
+
|
40
38
|
@exclude_files.each do |filename|
|
41
|
-
|
39
|
+
full_path = File.expand_path(filename)
|
40
|
+
if File.file?(full_path)
|
41
|
+
@list.delete full_path
|
42
|
+
elsif File.directory?(full_path)
|
43
|
+
exclude_all_from_dir full_path
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
def exclude_all_from_dir full_path
|
49
|
+
Helpers.rb_files_from(full_path).each do |file|
|
50
|
+
@list.delete File.expand_path(file)
|
42
51
|
end
|
43
52
|
end
|
44
53
|
|
metadata
CHANGED
@@ -4,9 +4,8 @@ version: !ruby/object:Gem::Version
|
|
4
4
|
prerelease: false
|
5
5
|
segments:
|
6
6
|
- 0
|
7
|
-
-
|
8
|
-
|
9
|
-
version: 0.4.2
|
7
|
+
- 5
|
8
|
+
version: "0.5"
|
10
9
|
platform: ruby
|
11
10
|
authors:
|
12
11
|
- Xavier Nayrac
|
@@ -14,20 +13,19 @@ autorequire:
|
|
14
13
|
bindir: bin
|
15
14
|
cert_chain: []
|
16
15
|
|
17
|
-
date: 2011-03-
|
16
|
+
date: 2011-03-14 00:00:00 +01:00
|
18
17
|
default_executable:
|
19
18
|
dependencies: []
|
20
19
|
|
21
20
|
description: |-
|
22
21
|
"Another code coverage tool for ruby 1.9
|
23
22
|
(from the famous post of Aaron Patterson).
|
24
|
-
|
25
|
-
*
|
26
|
-
*
|
27
|
-
* Build simple html report only for files covered < 90%
|
23
|
+
* Simply "require 'coco'" from rspec or unit/test
|
24
|
+
* Display filenames covered less than 90% on console
|
25
|
+
* Build simple html report only for files covered less than 90%
|
28
26
|
* Report sources that have no tests
|
29
27
|
* UTF-8 compliant
|
30
|
-
*
|
28
|
+
* Configurable with a simple yaml file
|
31
29
|
* Colorized console output (*nix only)
|
32
30
|
email: xavier.nayrac@gmail.com
|
33
31
|
executables: []
|