coco 0.6 → 0.7
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/Changelog.markdown +68 -0
- data/README.markdown +108 -0
- data/TODO +11 -0
- data/VERSION +1 -1
- data/lib/coco/configuration.rb +7 -4
- data/lib/coco/formatter/console_formatter.rb +12 -12
- data/lib/coco/helpers.rb +3 -1
- data/template/css/coco.css +40 -49
- data/template/index.erb +1 -1
- metadata +12 -21
- data/NEWS +0 -52
- data/README.rdoc +0 -55
- data/template/css/ext.css +0 -5
data/Changelog.markdown
ADDED
@@ -0,0 +1,68 @@
|
|
1
|
+
v0.7 (2013-06-19)
|
2
|
+
=================================================
|
3
|
+
|
4
|
+
* Bugfix: single_line_report option is now silent if there is nothing to
|
5
|
+
report
|
6
|
+
* Improve report styling (a bit)
|
7
|
+
* Default threeshold is now 100%
|
8
|
+
* Config file is renamed to '.coco.yml', to benefit of syntax highlighting
|
9
|
+
|
10
|
+
|
11
|
+
v0.6 (2011-10-30)
|
12
|
+
=================================================
|
13
|
+
|
14
|
+
* Added an option 'single_line_report'
|
15
|
+
|
16
|
+
|
17
|
+
v0.5.1 (2011-08-08)
|
18
|
+
=================================================
|
19
|
+
|
20
|
+
* Fix a bug where excluding a whole folder from the report does not worked
|
21
|
+
|
22
|
+
|
23
|
+
v0.5 (2011-03-14)
|
24
|
+
=================================================
|
25
|
+
|
26
|
+
* can exclude a whole folder of ruby files from the report
|
27
|
+
* works with unit/test framework
|
28
|
+
|
29
|
+
|
30
|
+
v0.4.2 (2011-03-01)
|
31
|
+
=================================================
|
32
|
+
|
33
|
+
Minor bug fixes
|
34
|
+
---------------
|
35
|
+
* #14: sometimes text exit on the right from table in html report
|
36
|
+
* #13: '<' and '>' are not escaped in hml report
|
37
|
+
* #12: no link to web site in html files
|
38
|
+
|
39
|
+
|
40
|
+
v0.4.1 (2011-02-27)
|
41
|
+
=================================================
|
42
|
+
|
43
|
+
* Quick fix, add forgotten images for html menu
|
44
|
+
|
45
|
+
|
46
|
+
v0.4 (2011-02-26)
|
47
|
+
=================================================
|
48
|
+
|
49
|
+
* add colors to console output (*nix only)
|
50
|
+
* it can exclude unwanted files from the report
|
51
|
+
|
52
|
+
|
53
|
+
v0.3 (2011-02-25)
|
54
|
+
=================================================
|
55
|
+
|
56
|
+
* Report sources not covered at all
|
57
|
+
* Configurable via a simple yaml file: threeshold and source directories
|
58
|
+
* UTF-8 compliant
|
59
|
+
* Misc: sort index.html and console output by percentage, Display
|
60
|
+
version in index.html
|
61
|
+
|
62
|
+
|
63
|
+
v0.2 (2011-02-24)
|
64
|
+
=================================================
|
65
|
+
|
66
|
+
* Use coco from rspec with a simple require 'coco'
|
67
|
+
* Display filenames covered < 90% on console
|
68
|
+
* Build simple html report only for files covered < 90%
|
data/README.markdown
ADDED
@@ -0,0 +1,108 @@
|
|
1
|
+
coco
|
2
|
+
==============================
|
3
|
+
|
4
|
+
Code coverage tool for ruby 1.9.2, 1.9.3 and 2.0.
|
5
|
+
|
6
|
+
Features
|
7
|
+
--------------------------------
|
8
|
+
|
9
|
+
* Use it from rspec or test/unit with a simple `require 'coco'`
|
10
|
+
* Works with Rails
|
11
|
+
* Display names of uncovered files on console
|
12
|
+
* _Simple_ html report _only_ for uncovered files
|
13
|
+
* Report sources that have no tests
|
14
|
+
* UTF-8 compliant
|
15
|
+
* Configurable via a simple yaml file
|
16
|
+
* Colorized console output (nix only)
|
17
|
+
|
18
|
+
|
19
|
+
Install
|
20
|
+
--------------------------------
|
21
|
+
|
22
|
+
gem install coco
|
23
|
+
|
24
|
+
Usage
|
25
|
+
--------------------------------
|
26
|
+
Require the coco library at the beginning of your tests:
|
27
|
+
|
28
|
+
require 'coco'
|
29
|
+
|
30
|
+
Usually you do this only once, by putting this line in an spec_helper.rb,
|
31
|
+
or test_helper.rb (or whatever you named it).
|
32
|
+
|
33
|
+
###View report
|
34
|
+
|
35
|
+
After your tests, coco will display a short report in the console window, like this one:
|
36
|
+
|
37
|
+
$ rake test
|
38
|
+
[...]
|
39
|
+
26 examples, 0 failures
|
40
|
+
0% /home/xavier/project/lib/iprune.rb
|
41
|
+
0% /home/xavier/project/lib/iprune/iprune.rb
|
42
|
+
46% /home/xavier/project/lib/parser/prunille.rb
|
43
|
+
$
|
44
|
+
|
45
|
+
If there is some files reported in the console, coco will create a `coverage/`
|
46
|
+
folder at the root of the project. Browse the `coverage/index.html` to access
|
47
|
+
a line by line report.
|
48
|
+
|
49
|
+
**Be careful!** Any `coverage` folder at the root of your project will be
|
50
|
+
deleted without warning!
|
51
|
+
|
52
|
+
_Note: files with a coverage of 0% are only listed in index.html ; there
|
53
|
+
is no line by line report for such files._
|
54
|
+
|
55
|
+
Configuration
|
56
|
+
----------------------------------
|
57
|
+
|
58
|
+
Configuration is done via a YAML file. You can configure:
|
59
|
+
|
60
|
+
* __threeshold__: the percentage threeshold
|
61
|
+
* __directories__: the directories from where coco will search for untested source files
|
62
|
+
* __excludes__: a list of files to exclude from the report
|
63
|
+
* __single_line_report__: the report's style
|
64
|
+
|
65
|
+
By default, threeshold is set to 100 and directories is set to 'lib'.
|
66
|
+
|
67
|
+
To change the default coco configuration, put a `.coco.yml` file at the root of your project.
|
68
|
+
|
69
|
+
_Earlier versions of coco used to use `.coco` instead of `.coco.yml`, as of
|
70
|
+
version 0.7, using `.coco` is deprecated. Reason is `.yml` extension allow
|
71
|
+
for syntax highlighting._
|
72
|
+
|
73
|
+
|
74
|
+
###Sample config for a Rails project
|
75
|
+
|
76
|
+
:directories:
|
77
|
+
- app
|
78
|
+
- lib
|
79
|
+
:excludes:
|
80
|
+
- spec
|
81
|
+
- config/initializers
|
82
|
+
:single_line_report: true
|
83
|
+
|
84
|
+
_Note: YAML is very punctilious with the syntax. In particular, paid attention
|
85
|
+
to not put any leading spaces or tab at all._
|
86
|
+
|
87
|
+
See [more examples](https://github.com/lkdjiin/coco/wiki) on the wiki.
|
88
|
+
|
89
|
+
Dependencies
|
90
|
+
--------------------------------
|
91
|
+
|
92
|
+
ruby >= 1.9.2
|
93
|
+
|
94
|
+
|
95
|
+
License
|
96
|
+
--------------------------------
|
97
|
+
GPLv3, see COPYING.
|
98
|
+
|
99
|
+
Questions and/or Comments
|
100
|
+
--------------------------------
|
101
|
+
|
102
|
+
Feel free to email [Xavier Nayrac](mailto:xavier.nayrac@gmail.com)
|
103
|
+
with any questions, or contact me on [twitter](https://twitter.com/lkdjiin).
|
104
|
+
|
105
|
+
Contributors
|
106
|
+
--------------------------------
|
107
|
+
|
108
|
+
[sunaku (Suraj N. Kurapati)](https://github.com/sunaku)
|
data/TODO
CHANGED
@@ -1 +1,12 @@
|
|
1
|
+
travis: 1.9.2, 1.9.3, 2.0.0
|
1
2
|
|
3
|
+
exclure spec et test par défaut
|
4
|
+
|
5
|
+
le wiki dit que seul le dossier lib est inspecté par défaut, je pense
|
6
|
+
que c'est en fait toute l'application.
|
7
|
+
|
8
|
+
améliorer un poil le site + analytics
|
9
|
+
|
10
|
+
-----------------------
|
11
|
+
|
12
|
+
Virer les css de yahoo
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.7
|
data/lib/coco/configuration.rb
CHANGED
@@ -21,13 +21,16 @@ module Coco
|
|
21
21
|
class Configuration < Hash
|
22
22
|
|
23
23
|
def initialize
|
24
|
-
self[:threeshold] =
|
24
|
+
self[:threeshold] = 100
|
25
25
|
self[:directories] = ['lib']
|
26
26
|
self[:excludes] = []
|
27
27
|
self[:single_line_report] = false
|
28
|
-
if File.exist?('.coco')
|
29
|
-
|
30
|
-
|
28
|
+
if File.exist?('.coco.yml')
|
29
|
+
self.merge!(YAML.load_file('.coco.yml'))
|
30
|
+
# Deprecated: Support of '.coco' file will be remove in a future
|
31
|
+
# version.
|
32
|
+
elsif File.exist?('.coco')
|
33
|
+
self.merge!(YAML.load_file('.coco'))
|
31
34
|
end
|
32
35
|
expand_directories
|
33
36
|
remove_directories
|
@@ -4,10 +4,10 @@ module Coco
|
|
4
4
|
|
5
5
|
# I format coverages information for console output
|
6
6
|
class ConsoleFormatter < Formatter
|
7
|
-
|
7
|
+
|
8
8
|
# @param [Boolean] single_line_report
|
9
9
|
#
|
10
|
-
# return [string] percent covered and associated filenames
|
10
|
+
# return [string] percent covered and associated filenames
|
11
11
|
def format single_line_report = false
|
12
12
|
if single_line_report
|
13
13
|
single_line_message
|
@@ -15,7 +15,7 @@ module Coco
|
|
15
15
|
@formatted_output.join("\n")
|
16
16
|
end
|
17
17
|
end
|
18
|
-
|
18
|
+
|
19
19
|
# @param [Hash] covered
|
20
20
|
# @param [Array] uncovered
|
21
21
|
def initialize covered, uncovered
|
@@ -24,7 +24,7 @@ module Coco
|
|
24
24
|
compute_percentage
|
25
25
|
add_percentage_to_uncovered
|
26
26
|
@formatted_output.sort!
|
27
|
-
@formatted_output.map! do |percentage, filename|
|
27
|
+
@formatted_output.map! do |percentage, filename|
|
28
28
|
text = ColoredString.new "#{percentage}% #{filename}"
|
29
29
|
if percentage <= 50
|
30
30
|
text.red
|
@@ -33,28 +33,28 @@ module Coco
|
|
33
33
|
end
|
34
34
|
end
|
35
35
|
end
|
36
|
-
|
36
|
+
|
37
37
|
private
|
38
|
-
|
38
|
+
|
39
39
|
def compute_percentage
|
40
|
-
@raw_coverages.each do |filename, coverage|
|
40
|
+
@raw_coverages.each do |filename, coverage|
|
41
41
|
percentage = CoverageStat.coverage_percent(coverage)
|
42
42
|
@formatted_output << [percentage, filename]
|
43
43
|
end
|
44
44
|
end
|
45
|
-
|
45
|
+
|
46
46
|
def add_percentage_to_uncovered
|
47
47
|
@uncovered.each do |filename| @formatted_output << [0, filename] end
|
48
48
|
end
|
49
|
-
|
49
|
+
|
50
50
|
def single_line_message
|
51
|
-
if @
|
52
|
-
"
|
51
|
+
if @uncovered.empty?
|
52
|
+
""
|
53
53
|
else
|
54
54
|
ColoredString.new("Some files are uncovered").yellow
|
55
55
|
end
|
56
56
|
end
|
57
|
-
|
57
|
+
|
58
58
|
end
|
59
59
|
|
60
60
|
end
|
data/lib/coco/helpers.rb
CHANGED
@@ -22,7 +22,9 @@ module Coco
|
|
22
22
|
|
23
23
|
# @return [String] The title of the index.html file
|
24
24
|
def Helpers.index_title
|
25
|
-
|
25
|
+
project_name = File.basename(Dir.pwd)
|
26
|
+
version = File.read(File.join($COCO_PATH, 'VERSION')).strip
|
27
|
+
"#{project_name} - Code coverage (coco #{version})"
|
26
28
|
end
|
27
29
|
|
28
30
|
# @param [Array<String>] files List of filenames
|
data/template/css/coco.css
CHANGED
@@ -1,34 +1,29 @@
|
|
1
1
|
@charset "UTF-8";
|
2
2
|
@import url("reset-min.css");
|
3
3
|
@import url("base-min.css");
|
4
|
-
@import url("font-min.css")
|
5
|
-
@import url("ext.css");
|
4
|
+
@import url("font-min.css")
|
6
5
|
|
7
|
-
html
|
8
|
-
|
9
|
-
|
6
|
+
html {
|
7
|
+
background-color: #fff;
|
8
|
+
color: #222;
|
10
9
|
}
|
11
10
|
|
12
|
-
h2
|
13
|
-
{
|
11
|
+
h2 {
|
14
12
|
padding: 10px;
|
15
|
-
background-color: #
|
16
|
-
color: #
|
13
|
+
background-color: #7658F8;
|
14
|
+
color: #fff;
|
17
15
|
}
|
18
16
|
|
19
|
-
a
|
20
|
-
{
|
17
|
+
a {
|
21
18
|
color:#446;
|
22
19
|
text-decoration: none;
|
23
20
|
}
|
24
21
|
|
25
|
-
p.menu a
|
26
|
-
{
|
22
|
+
p.menu a {
|
27
23
|
font-weight: bold;
|
28
24
|
}
|
29
25
|
|
30
|
-
p.license
|
31
|
-
{
|
26
|
+
p.license {
|
32
27
|
color: #888;
|
33
28
|
margin-top: 20px;
|
34
29
|
padding-top: 5px;
|
@@ -36,71 +31,67 @@ p.license
|
|
36
31
|
font-size: 80%;
|
37
32
|
}
|
38
33
|
|
39
|
-
p.date
|
40
|
-
{
|
34
|
+
p.date {
|
41
35
|
font-size: 80%;
|
42
36
|
}
|
43
37
|
|
44
|
-
table
|
45
|
-
{
|
38
|
+
table {
|
46
39
|
width: 100%;
|
47
40
|
}
|
48
41
|
|
49
|
-
table td
|
50
|
-
{
|
42
|
+
table td {
|
51
43
|
border-width: 0;
|
52
44
|
}
|
53
45
|
|
54
|
-
table.source td
|
55
|
-
{
|
46
|
+
table.source td {
|
56
47
|
padding: 0;
|
57
48
|
}
|
58
49
|
|
59
|
-
tr.never
|
60
|
-
{
|
50
|
+
tr.never {
|
61
51
|
background-color: #eee;
|
62
52
|
}
|
63
53
|
|
64
|
-
tr.hit
|
65
|
-
|
66
|
-
background-color: #efe;
|
54
|
+
tr.hit {
|
55
|
+
background-color: #5BD999;
|
67
56
|
}
|
68
57
|
|
69
|
-
tr.miss
|
70
|
-
|
71
|
-
background-color: #fbb;
|
58
|
+
tr.miss {
|
59
|
+
background-color: #E6567A;
|
72
60
|
}
|
73
61
|
|
74
|
-
td.yellow, td.orange, td.pink, td.red, td.black
|
75
|
-
{
|
62
|
+
td.yellow, td.orange, td.pink, td.red, td.black {
|
76
63
|
width: 45px;
|
64
|
+
color: #fff;
|
77
65
|
}
|
78
66
|
|
79
|
-
td.yellow
|
80
|
-
|
81
|
-
background-color: #fffead;
|
67
|
+
td.yellow {
|
68
|
+
background-color: #EAC14D;
|
82
69
|
}
|
83
70
|
|
84
|
-
td.orange
|
85
|
-
|
86
|
-
background-color: #ffcd84;
|
71
|
+
td.orange {
|
72
|
+
background-color: #CB70D7;
|
87
73
|
}
|
88
74
|
|
89
|
-
td.pink
|
90
|
-
|
91
|
-
background-color: #ffcd84;
|
75
|
+
td.pink {
|
76
|
+
background-color: #CB70D7;
|
92
77
|
}
|
93
78
|
|
94
|
-
td.red
|
95
|
-
|
96
|
-
background-color: #ff4747;
|
97
|
-
color: #fff;
|
79
|
+
td.red {
|
80
|
+
background-color: #E6567A;
|
98
81
|
font-weight: bold;
|
99
82
|
}
|
100
83
|
|
101
|
-
td.black
|
102
|
-
|
103
|
-
background-color: #002;
|
84
|
+
td.black {
|
85
|
+
background-color: #222;
|
104
86
|
color: #fff;
|
105
87
|
font-weight: bold;
|
106
88
|
}
|
89
|
+
|
90
|
+
td:first-child {
|
91
|
+
text-align: right;
|
92
|
+
padding-right: 20px;
|
93
|
+
}
|
94
|
+
|
95
|
+
pre {
|
96
|
+
margin: 6px 0;
|
97
|
+
}
|
data/template/index.erb
CHANGED
@@ -39,7 +39,7 @@
|
|
39
39
|
|
40
40
|
<p class="license">
|
41
41
|
Coco, code coverage for ruby.<br/>
|
42
|
-
Copyright 2011, Xavier Nayrac<br/>
|
42
|
+
Copyright 2011-2013, Xavier Nayrac<br/>
|
43
43
|
<br/>
|
44
44
|
This program is free software: you can redistribute it and/or modify<br/>
|
45
45
|
it under the terms of the GNU General Public License as published by<br/>
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: coco
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: '0.
|
4
|
+
version: '0.7'
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,26 +9,19 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
13
|
-
default_executable:
|
12
|
+
date: 2013-06-19 00:00:00.000000000 Z
|
14
13
|
dependencies: []
|
15
|
-
description: ! '"
|
14
|
+
description: ! '"Code coverage tool for ruby 1.9.2 to 2.0.
|
16
15
|
|
17
|
-
|
16
|
+
Use it by "require ''coco''" from rspec or unit/test.
|
18
17
|
|
19
|
-
|
18
|
+
It display names of uncovered files on console.
|
20
19
|
|
21
|
-
|
20
|
+
It builds simple html report.
|
22
21
|
|
23
|
-
|
22
|
+
It reports sources that have no tests.
|
24
23
|
|
25
|
-
|
26
|
-
|
27
|
-
* UTF-8 compliant
|
28
|
-
|
29
|
-
* Configurable with a simple yaml file
|
30
|
-
|
31
|
-
* Colorized console output (*nix only)'
|
24
|
+
It''s configurable with a simple yaml file.'
|
32
25
|
email: xavier.nayrac@gmail.com
|
33
26
|
executables: []
|
34
27
|
extensions: []
|
@@ -62,17 +55,15 @@ files:
|
|
62
55
|
- template/css/reset-min.css
|
63
56
|
- template/css/coco.css
|
64
57
|
- template/css/LICENCE
|
65
|
-
- template/css/ext.css
|
66
58
|
- template/css/base-min.css
|
67
59
|
- template/img/licenses
|
68
60
|
- template/img/coconut16.png
|
69
61
|
- VERSION
|
70
62
|
- COPYING
|
71
|
-
-
|
63
|
+
- README.markdown
|
64
|
+
- Changelog.markdown
|
72
65
|
- Rakefile
|
73
66
|
- TODO
|
74
|
-
- README.rdoc
|
75
|
-
has_rdoc: true
|
76
67
|
homepage: http://lkdjiin.github.com/coco/
|
77
68
|
licenses:
|
78
69
|
- GPL-3
|
@@ -94,8 +85,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
94
85
|
version: '0'
|
95
86
|
requirements: []
|
96
87
|
rubyforge_project:
|
97
|
-
rubygems_version: 1.
|
88
|
+
rubygems_version: 1.8.25
|
98
89
|
signing_key:
|
99
90
|
specification_version: 3
|
100
|
-
summary: Code coverage tool for ruby 1.9.
|
91
|
+
summary: Code coverage tool for ruby 1.9.2 to 2.0
|
101
92
|
test_files: []
|
data/NEWS
DELETED
@@ -1,52 +0,0 @@
|
|
1
|
-
v0.6 (2011-10-30)
|
2
|
-
|
3
|
-
* Added an option 'single_line_report'
|
4
|
-
|
5
|
-
|
6
|
-
v0.5.1 (2011-08-08)
|
7
|
-
|
8
|
-
* Fix a bug where excluding a whole folder from the report does not worked
|
9
|
-
|
10
|
-
|
11
|
-
v0.5 (2011-03-14)
|
12
|
-
|
13
|
-
* can exclude a whole folder of ruby files from the report
|
14
|
-
* works with unit/test framework
|
15
|
-
|
16
|
-
|
17
|
-
v0.4.2 (2011-03-01)
|
18
|
-
|
19
|
-
* Minor bug fixes
|
20
|
-
#14: sometimes text exit on the right from table in html report
|
21
|
-
#13: '<' and '>' are not escaped in hml report
|
22
|
-
#12: no link to web site in html files
|
23
|
-
|
24
|
-
|
25
|
-
v0.4.1 (2011-02-27)
|
26
|
-
|
27
|
-
* Quick fix, add forgotten images for html menu
|
28
|
-
|
29
|
-
|
30
|
-
v0.4 (2011-02-26)
|
31
|
-
|
32
|
-
* add colors to console output (*nix only)
|
33
|
-
* it can exclude unwanted files from the report
|
34
|
-
|
35
|
-
|
36
|
-
v0.3 (2011-02-25)
|
37
|
-
|
38
|
-
* Report sources not covered at all
|
39
|
-
* Configurable via a simple yaml file
|
40
|
-
+ threeshold
|
41
|
-
+ source directories
|
42
|
-
* UTF-8 compliant
|
43
|
-
* Misc
|
44
|
-
+ sort index.html and console output by percentage
|
45
|
-
+ display coco's version in index.html
|
46
|
-
|
47
|
-
|
48
|
-
v0.2 (2011-02-24)
|
49
|
-
|
50
|
-
* Use coco from rspec with a simple require 'coco'
|
51
|
-
* Display filenames covered < 90% on console
|
52
|
-
* Build simple html report only for files covered < 90%
|
data/README.rdoc
DELETED
@@ -1,55 +0,0 @@
|
|
1
|
-
= coco
|
2
|
-
|
3
|
-
Another code coverage for ruby 1.9 (from the famous post of Aaron Patterson).
|
4
|
-
|
5
|
-
== Features
|
6
|
-
* Use it from rspec or test/unit with a simple <code>require 'coco'</code>
|
7
|
-
* Works with Rails
|
8
|
-
* Display filenames covered less than 90% on console
|
9
|
-
* <em>Simple</em> html report <em>only</em> for files covered less than 90%
|
10
|
-
* Report sources that have no tests
|
11
|
-
* UTF-8 compliant
|
12
|
-
* Configurable via a simple yaml file
|
13
|
-
* Colorized console output (*nix only)
|
14
|
-
|
15
|
-
<em>Note: I have tested coco only on debian linux.</em>
|
16
|
-
|
17
|
-
== Documentation
|
18
|
-
|
19
|
-
require 'coco'
|
20
|
-
|
21
|
-
at the beginning of your tests, usually in a \*helper\*.rb file.
|
22
|
-
|
23
|
-
See {the wiki}[https://github.com/lkdjiin/coco/wiki] for more information on using coco.
|
24
|
-
|
25
|
-
To generate the developper's documentation in YARD format:
|
26
|
-
rake doc
|
27
|
-
|
28
|
-
== Dependencies
|
29
|
-
|
30
|
-
ruby >= 1.9.2
|
31
|
-
|
32
|
-
To contribute:
|
33
|
-
|
34
|
-
* rspec
|
35
|
-
* reek
|
36
|
-
* flay
|
37
|
-
|
38
|
-
== Installing coco
|
39
|
-
From the sources:
|
40
|
-
rake install
|
41
|
-
|
42
|
-
From rubygems:
|
43
|
-
gem install coco
|
44
|
-
|
45
|
-
== License
|
46
|
-
GPLv3, see COPYING.
|
47
|
-
|
48
|
-
== Questions and/or Comments
|
49
|
-
|
50
|
-
Feel free to email {Xavier Nayrac}[mailto:xavier.nayrac@gmail.com]
|
51
|
-
with any questions.
|
52
|
-
|
53
|
-
== Contributors
|
54
|
-
|
55
|
-
{sunaku (Suraj N. Kurapati)}[https://github.com/sunaku]
|