tapout 0.3.1 → 0.3.2
Sign up to get free protection for your applications and to get access to all the features.
- data/.ruby +10 -10
- data/COPYING.rdoc +4 -2
- data/HISTORY.rdoc +12 -0
- data/README.rdoc +10 -10
- data/lib/tapout.rb +3 -0
- data/lib/tapout.yml +10 -10
- data/lib/tapout/reporters/dot_reporter.rb +10 -4
- data/lib/tapout/reporters/pretty_reporter.rb +12 -11
- data/lib/tapout/reporters/turn_reporter.rb +9 -6
- data/spec/issues/applique/env.rb +1 -0
- data/spec/issues/default_reporter.rdoc +36 -0
- metadata +15 -15
- data/LICENSE.txt +0 -25
- data/PROFILE +0 -34
data/.ruby
CHANGED
@@ -1,4 +1,6 @@
|
|
1
1
|
---
|
2
|
+
source:
|
3
|
+
- var
|
2
4
|
authors:
|
3
5
|
- name: Thomas Sawyer
|
4
6
|
email: transfire@gmail.com
|
@@ -7,7 +9,7 @@ copyrights:
|
|
7
9
|
year: '2010'
|
8
10
|
license: BSD-2-Clause
|
9
11
|
replacements: []
|
10
|
-
|
12
|
+
alternatives: []
|
11
13
|
requirements:
|
12
14
|
- name: ansi
|
13
15
|
- name: json
|
@@ -20,6 +22,7 @@ requirements:
|
|
20
22
|
- test
|
21
23
|
development: true
|
22
24
|
dependencies: []
|
25
|
+
conflicts: []
|
23
26
|
repositories:
|
24
27
|
- uri: git://github.com/rubyworks/tapout.git
|
25
28
|
scm: git
|
@@ -27,19 +30,16 @@ repositories:
|
|
27
30
|
resources:
|
28
31
|
home: http://rubyworks.github.com/tapout
|
29
32
|
code: http://github.com/rubyworks/tapout
|
33
|
+
extra: {}
|
30
34
|
load_path:
|
31
35
|
- lib
|
32
|
-
extra: {}
|
33
|
-
source:
|
34
|
-
- PROFILE
|
35
|
-
alternatives: []
|
36
36
|
revision: 0
|
37
|
-
|
38
|
-
title: TapOut
|
39
|
-
version: 0.3.1
|
37
|
+
created: '2010-12-23'
|
40
38
|
summary: Progressive TAP Harness
|
39
|
+
title: TapOut
|
40
|
+
version: 0.3.2
|
41
|
+
name: tapout
|
41
42
|
description: Tapout is a TAP consumer that can take any TAP, TAP-Y or TAP-J stream
|
42
43
|
and output it in a variety of useful formats.
|
43
44
|
organization: RubyWorks
|
44
|
-
|
45
|
-
date: '2011-10-18'
|
45
|
+
date: '2011-11-08'
|
data/COPYING.rdoc
CHANGED
@@ -2,11 +2,13 @@
|
|
2
2
|
|
3
3
|
== TAPOUT
|
4
4
|
|
5
|
-
Copyright:: (c) 2010
|
5
|
+
Copyright:: (c) 2010 Rubyworks
|
6
6
|
License:: BSD-2-Clause
|
7
7
|
Website:: http://rubyworks.github.com/tapout
|
8
8
|
|
9
|
-
|
9
|
+
TAPOUT - Modernized TAP Harness
|
10
|
+
|
11
|
+
Copyright 2010 Rubyworks. All rights reserved.
|
10
12
|
|
11
13
|
Redistribution and use in source and binary forms, with or without
|
12
14
|
modification, are permitted provided that the following conditions are met:
|
data/HISTORY.rdoc
CHANGED
@@ -1,5 +1,17 @@
|
|
1
1
|
= RELEASE HISTORY
|
2
2
|
|
3
|
+
|
4
|
+
== 0.3.2 / 2011-11-08
|
5
|
+
|
6
|
+
Improve backtrace output in a number of reporters. Now, by default, full
|
7
|
+
backtraces are provided. Use the `--trace DEPTH` option to limit the
|
8
|
+
number of backtrace lines to report.
|
9
|
+
|
10
|
+
Changes:
|
11
|
+
|
12
|
+
* Improve backtrace output in most reporters.
|
13
|
+
|
14
|
+
|
3
15
|
== 0.3.1 / 2011-10-18
|
4
16
|
|
5
17
|
This release fixes an error raised when no report format is explicitly specified.
|
data/README.rdoc
CHANGED
@@ -1,11 +1,10 @@
|
|
1
1
|
= Tap Out
|
2
2
|
|
3
3
|
{Website}[http://rubyworks.github.com/tapout] |
|
4
|
-
{Development}[http://github.com/rubyworks/tapout]
|
4
|
+
{Development}[http://github.com/rubyworks/tapout] |
|
5
|
+
{Report Issue}[http://github.com/rubyworks/tapout/issues]
|
5
6
|
|
6
|
-
|
7
|
-
License:: BSD-2-Clause
|
8
|
-
Status:: {<img src="http://travis-ci.org/rubyworks/tapout.png" />}[http://travis-ci.org/rubyworks/tapout]
|
7
|
+
{<img src="http://travis-ci.org/rubyworks/tapout.png" />}[http://travis-ci.org/rubyworks/tapout]
|
9
8
|
|
10
9
|
|
11
10
|
== DESCRIPTION
|
@@ -15,10 +14,10 @@ TapOut is a TAP handler. TapOut supports TAP-Y/J as well as traditional TAP.
|
|
15
14
|
TAP-Y/J is a modernization of TAP using pure YAML/JSON streams.
|
16
15
|
Traditional TAP has less detail than TAP-Y/J, but it can still be translated
|
17
16
|
with fairly good results. TapOut includes a TAP adapter to handle the
|
18
|
-
translation transparently.
|
19
|
-
limitations.
|
17
|
+
translation transparently. Currently TapOut supports TAP v12 with minor
|
18
|
+
some limitations.
|
20
19
|
|
21
|
-
To learn about the TAP-Y/J specification, see the TAP-YJ.rdoc file.
|
20
|
+
To learn about the TAP-Y/J specification, see the {TAP-YJ.rdoc} file.
|
22
21
|
|
23
22
|
For information about TAP, see http://testanything.org/wiki/index.php/Main_Page.
|
24
23
|
|
@@ -54,8 +53,9 @@ TAP, TapOut will automatically recognize the difference by TAP's `1..N` header.
|
|
54
53
|
|
55
54
|
== COPYRIGHTS
|
56
55
|
|
57
|
-
TapOut
|
56
|
+
TapOut - Copyright (c) 2010 Rubyworks
|
58
57
|
|
59
|
-
TapOut is licensed under the terms of the
|
58
|
+
TapOut is licensed under the terms of the *BSD-2-Clause* license.
|
59
|
+
|
60
|
+
See COPYING.rdoc for details.
|
60
61
|
|
61
|
-
See COPYING.rdoc and LICENSE.txt for details.
|
data/lib/tapout.rb
CHANGED
data/lib/tapout.yml
CHANGED
@@ -1,4 +1,6 @@
|
|
1
1
|
---
|
2
|
+
source:
|
3
|
+
- var
|
2
4
|
authors:
|
3
5
|
- name: Thomas Sawyer
|
4
6
|
email: transfire@gmail.com
|
@@ -7,7 +9,7 @@ copyrights:
|
|
7
9
|
year: '2010'
|
8
10
|
license: BSD-2-Clause
|
9
11
|
replacements: []
|
10
|
-
|
12
|
+
alternatives: []
|
11
13
|
requirements:
|
12
14
|
- name: ansi
|
13
15
|
- name: json
|
@@ -20,6 +22,7 @@ requirements:
|
|
20
22
|
- test
|
21
23
|
development: true
|
22
24
|
dependencies: []
|
25
|
+
conflicts: []
|
23
26
|
repositories:
|
24
27
|
- uri: git://github.com/rubyworks/tapout.git
|
25
28
|
scm: git
|
@@ -27,19 +30,16 @@ repositories:
|
|
27
30
|
resources:
|
28
31
|
home: http://rubyworks.github.com/tapout
|
29
32
|
code: http://github.com/rubyworks/tapout
|
33
|
+
extra: {}
|
30
34
|
load_path:
|
31
35
|
- lib
|
32
|
-
extra: {}
|
33
|
-
source:
|
34
|
-
- PROFILE
|
35
|
-
alternatives: []
|
36
36
|
revision: 0
|
37
|
-
|
38
|
-
title: TapOut
|
39
|
-
version: 0.3.1
|
37
|
+
created: '2010-12-23'
|
40
38
|
summary: Progressive TAP Harness
|
39
|
+
title: TapOut
|
40
|
+
version: 0.3.2
|
41
|
+
name: tapout
|
41
42
|
description: Tapout is a TAP consumer that can take any TAP, TAP-Y or TAP-J stream
|
42
43
|
and output it in a variety of useful formats.
|
43
44
|
organization: RubyWorks
|
44
|
-
|
45
|
-
date: '2011-10-18'
|
45
|
+
date: '2011-11-08'
|
@@ -14,7 +14,7 @@ module TapOut::Reporters
|
|
14
14
|
|
15
15
|
#
|
16
16
|
def pass(entry)
|
17
|
-
$stdout.print '.'
|
17
|
+
$stdout.print '.'.ansi(:green)
|
18
18
|
$stdout.flush
|
19
19
|
super(entry)
|
20
20
|
end
|
@@ -40,25 +40,31 @@ module TapOut::Reporters
|
|
40
40
|
i = 1
|
41
41
|
|
42
42
|
@failed.each do |e|
|
43
|
-
|
43
|
+
backtrace = clean_backtrace(e['exception']['backtrace'])
|
44
|
+
depth = TapOut.trace || backtrace.size
|
45
|
+
|
44
46
|
$stdout.puts "#{i}. " + (e['label']).ansi(:red)
|
45
47
|
$stdout.puts
|
46
48
|
$stdout.puts " #{e['exception']['class']}" if e['exception']['class']
|
47
|
-
$stdout.puts
|
49
|
+
$stdout.puts e['exception']['message'].to_s.tabto(4)
|
48
50
|
$stdout.puts " #{e['exception']['file']}:#{e['exception']['line']}" #+ backtrace[0]
|
49
51
|
$stdout.puts code_snippet(e['exception'])
|
52
|
+
$stdout.puts backtrace[0,depth].join("\n").tabto(4)
|
50
53
|
$stdout.puts
|
51
54
|
i += 1
|
52
55
|
end
|
53
56
|
|
54
57
|
@raised.each do |e|
|
55
|
-
|
58
|
+
backtrace = clean_backtrace(e['exception']['backtrace'])
|
59
|
+
depth = TapOut.trace || backtrace.size
|
60
|
+
|
56
61
|
$stdout.puts "#{i}. " + (e['label']).ansi(:yellow)
|
57
62
|
$stdout.puts
|
58
63
|
$stdout.puts " #{e['exception']['class']}" if e['exception']['class']
|
59
64
|
$stdout.puts " #{e['exception']['message']}"
|
60
65
|
$stdout.puts " #{e['exception']['file']}:#{e['exception']['line']}" #+ backtrace[0..2].join(" \n")
|
61
66
|
$stdout.puts code_snippet(e['exception'])
|
67
|
+
$stdout.puts backtrace[0,depth].join("\n").tabto(4)
|
62
68
|
$stdout.puts
|
63
69
|
i += 1
|
64
70
|
end
|
@@ -77,17 +77,18 @@ module TapOut
|
|
77
77
|
if bt = test['exception']['backtrace']
|
78
78
|
_trace = clean_backtrace(bt)
|
79
79
|
else
|
80
|
-
_trace =
|
80
|
+
_trace = []
|
81
81
|
end
|
82
82
|
|
83
|
-
|
83
|
+
trace = _trace.shift
|
84
|
+
depth = TapOut.trace || trace.size
|
84
85
|
tabsize = 10
|
86
|
+
|
87
|
+
puts
|
85
88
|
#puts pad(message, tabsize)
|
86
89
|
puts message.tabto(tabsize)
|
87
|
-
puts
|
88
|
-
|
89
|
-
puts _trace[0,depth].map{|l| l.tabto(tabsize) }.join("\n")
|
90
|
-
end
|
90
|
+
puts trace.tabto(tabsize)
|
91
|
+
puts _trace[0,depth].map{|l| l.tabto(tabsize) }.join("\n")
|
91
92
|
#show_captured_output
|
92
93
|
end
|
93
94
|
|
@@ -107,14 +108,14 @@ module TapOut
|
|
107
108
|
_trace = filter_backtrace(bt)
|
108
109
|
end
|
109
110
|
|
110
|
-
trace
|
111
|
-
|
111
|
+
trace = _trace.shift
|
112
|
+
depth = TapOut.trace || trace.size
|
112
113
|
tabsize = 10
|
114
|
+
|
115
|
+
puts
|
113
116
|
puts message.tabto(tabsize)
|
114
117
|
puts trace.tabto(tabsize)
|
115
|
-
|
116
|
-
puts _trace[0,depth].map{|l| l.tabto(tabsize) }.join("\n")
|
117
|
-
end
|
118
|
+
puts _trace[0,depth].map{|l| l.tabto(tabsize) }.join("\n")
|
118
119
|
end
|
119
120
|
|
120
121
|
# TODO: skip support
|
@@ -66,10 +66,12 @@ module TapOut
|
|
66
66
|
#end
|
67
67
|
end
|
68
68
|
|
69
|
+
#
|
69
70
|
#
|
70
71
|
def fail(doc)
|
71
72
|
message = doc['exception']['message'].to_s
|
72
73
|
backtrace = clean_backtrace(doc['exception']['backtrace'] || [])
|
74
|
+
depth = TapOut.trace || backtrace.size
|
73
75
|
|
74
76
|
puts(" #{FAIL}")
|
75
77
|
puts message.ansi(:bold).tabto(8)
|
@@ -79,19 +81,20 @@ module TapOut
|
|
79
81
|
tabsize = 8
|
80
82
|
backtrace1 = label + backtrace.shift
|
81
83
|
puts(backtrace1.tabto(tabsize))
|
82
|
-
|
83
|
-
puts backtrace[0,depth].map{|l| l.tabto(label.length + tabsize) }.join("\n")
|
84
|
-
end
|
84
|
+
puts backtrace[0,depth].map{|l| l.tabto(label.length + tabsize) }.join("\n")
|
85
85
|
end
|
86
86
|
show_captured_output
|
87
87
|
end
|
88
88
|
|
89
|
-
#
|
89
|
+
#
|
90
|
+
#
|
90
91
|
def error(doc)
|
91
92
|
exception_class = doc['exception']['class'].to_s
|
92
93
|
message = doc['exception']['message'].to_s.ansi(:bold)
|
93
|
-
|
94
|
-
|
94
|
+
|
95
|
+
backtrace = clean_backtrace(doc['exception']['backtrace'] || [])
|
96
|
+
depth = TapOut.trace || backtrace.size
|
97
|
+
backtrace = "Exception `#{exception_class}' at " + backtrace[0,depth].join("\n")
|
95
98
|
|
96
99
|
puts("#{ERROR}")
|
97
100
|
puts(message.tabto(8))
|
@@ -0,0 +1 @@
|
|
1
|
+
require 'tapout'
|
@@ -0,0 +1,36 @@
|
|
1
|
+
## Default Reporter
|
2
|
+
|
3
|
+
### Issue #1 - tapout not defaulting output with minitap and minitest
|
4
|
+
|
5
|
+
#### Report Summary
|
6
|
+
|
7
|
+
Using minitap 0.3.0 and tapout 0.3.0 together, the command:
|
8
|
+
|
9
|
+
rake -q test | tapout
|
10
|
+
|
11
|
+
results in a stacktrace. This goes away if you actually specify a report
|
12
|
+
style to output. It seems the default dotprogress selection is getting
|
13
|
+
lost somehow.
|
14
|
+
|
15
|
+
See http://github.com/rubyworks/tapout/issues/1.
|
16
|
+
|
17
|
+
#### Problem
|
18
|
+
|
19
|
+
Each parser sets a default reporter name on it's own if no
|
20
|
+
name is given. But they were using an old name for the `dot`
|
21
|
+
reporter which caused this bug:
|
22
|
+
|
23
|
+
format = options[:format] || 'dotprogess'
|
24
|
+
|
25
|
+
The dotprogress reporter was renamed to `dot` in the 0.3 release.
|
26
|
+
|
27
|
+
#### Solution
|
28
|
+
|
29
|
+
Instead of having each parser worry about setting the default
|
30
|
+
we can let the factory method do it when `nil` is passed as an
|
31
|
+
argument.
|
32
|
+
|
33
|
+
reporter = TapOut::Reporters.factory(nil)
|
34
|
+
|
35
|
+
reporter #=> TapOut::Reporters::DotReporter
|
36
|
+
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tapout
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2011-
|
12
|
+
date: 2011-11-08 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: ansi
|
16
|
-
requirement: &
|
16
|
+
requirement: &23948160 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *23948160
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: json
|
27
|
-
requirement: &
|
27
|
+
requirement: &23946140 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *23946140
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: detroit
|
38
|
-
requirement: &
|
38
|
+
requirement: &23943840 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *23943840
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: qed
|
49
|
-
requirement: &
|
49
|
+
requirement: &23942460 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,7 +54,7 @@ dependencies:
|
|
54
54
|
version: '0'
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *23942460
|
58
58
|
description: Tapout is a TAP consumer that can take any TAP, TAP-Y or TAP-J stream
|
59
59
|
and output it in a variety of useful formats.
|
60
60
|
email:
|
@@ -63,7 +63,6 @@ executables:
|
|
63
63
|
- tapout
|
64
64
|
extensions: []
|
65
65
|
extra_rdoc_files:
|
66
|
-
- LICENSE.txt
|
67
66
|
- HISTORY.rdoc
|
68
67
|
- README.rdoc
|
69
68
|
- COPYING.rdoc
|
@@ -92,19 +91,20 @@ files:
|
|
92
91
|
- lib/tapout.rb
|
93
92
|
- lib/tapout.yml
|
94
93
|
- spec/applique/env.rb
|
94
|
+
- spec/issues/applique/env.rb
|
95
|
+
- spec/issues/default_reporter.rdoc
|
95
96
|
- spec/perl_adapter.rdoc
|
96
97
|
- spec/reporters/applique/cli.rb
|
97
98
|
- spec/reporters/fixtures/tapy.yml
|
98
99
|
- spec/reporters/reporters.rdoc
|
99
100
|
- test/unit/test-progressbar.rb
|
100
101
|
- HISTORY.rdoc
|
101
|
-
- PROFILE
|
102
|
-
- LICENSE.txt
|
103
102
|
- README.rdoc
|
104
103
|
- COPYING.rdoc
|
105
104
|
- TAP-YJ.md
|
106
105
|
homepage: http://rubyworks.github.com/tapout
|
107
|
-
licenses:
|
106
|
+
licenses:
|
107
|
+
- BSD-2-Clause
|
108
108
|
post_install_message:
|
109
109
|
rdoc_options: []
|
110
110
|
require_paths:
|
@@ -123,7 +123,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
123
123
|
version: '0'
|
124
124
|
requirements: []
|
125
125
|
rubyforge_project:
|
126
|
-
rubygems_version: 1.8.
|
126
|
+
rubygems_version: 1.8.10
|
127
127
|
signing_key:
|
128
128
|
specification_version: 3
|
129
129
|
summary: Progressive TAP Harness
|
data/LICENSE.txt
DELETED
@@ -1,25 +0,0 @@
|
|
1
|
-
BSD 2 Clause License
|
2
|
-
|
3
|
-
Copyright 2011 Thomas Sawyer. All rights reserved.
|
4
|
-
|
5
|
-
Redistribution and use in source and binary forms, with or without
|
6
|
-
modification, are permitted provided that the following conditions are met:
|
7
|
-
|
8
|
-
1. Redistributions of source code must retain the above copyright notice,
|
9
|
-
this list of conditions and the following disclaimer.
|
10
|
-
|
11
|
-
2. Redistributions in binary form must reproduce the above copyright
|
12
|
-
notice, this list of conditions and the following disclaimer in the
|
13
|
-
documentation and/or other materials provided with the distribution.
|
14
|
-
|
15
|
-
THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
16
|
-
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
18
|
-
COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
19
|
-
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
20
|
-
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
21
|
-
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
|
22
|
-
OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
23
|
-
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
|
24
|
-
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
25
|
-
|
data/PROFILE
DELETED
@@ -1,34 +0,0 @@
|
|
1
|
-
---
|
2
|
-
name: tapout
|
3
|
-
version: 0.3.1
|
4
|
-
|
5
|
-
title: TapOut
|
6
|
-
summary: Progressive TAP Harness
|
7
|
-
description:
|
8
|
-
Tapout is a TAP consumer that can take any TAP, TAP-Y or
|
9
|
-
TAP-J stream and output it in a variety of useful formats.
|
10
|
-
|
11
|
-
requires:
|
12
|
-
- ansi
|
13
|
-
- json
|
14
|
-
- detroit (build)
|
15
|
-
- qed (test)
|
16
|
-
|
17
|
-
resources:
|
18
|
-
home: http://rubyworks.github.com/tapout
|
19
|
-
code: http://github.com/rubyworks/tapout
|
20
|
-
|
21
|
-
repositories:
|
22
|
-
upstream: git://github.com/rubyworks/tapout.git
|
23
|
-
|
24
|
-
authors:
|
25
|
-
- Thomas Sawyer <transfire@gmail.com>
|
26
|
-
|
27
|
-
organization: RubyWorks
|
28
|
-
|
29
|
-
created: 2010-12-23
|
30
|
-
|
31
|
-
copyrights:
|
32
|
-
- Copyright (c) 2010 Thomas Sawyer (BSD-2-Clause)
|
33
|
-
|
34
|
-
source: PROFILE
|