ccsv 0.1 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of ccsv might be problematic. Click here for more details.
- data.tar.gz.sig +0 -0
- data/CHANGELOG +1 -0
- data/Manifest +4 -3
- data/{README → README.rdoc} +4 -2
- data/Rakefile +2 -2
- data/ccsv.gemspec +13 -14
- data/ext/ccsv.c +7 -7
- data/ext/ccsv.h +0 -2
- data/test/unit/test_ccsv.rb +10 -11
- metadata +57 -42
- metadata.gz.sig +0 -0
data.tar.gz.sig
CHANGED
Binary file
|
data/CHANGELOG
CHANGED
data/Manifest
CHANGED
data/{README → README.rdoc}
RENAMED
@@ -3,11 +3,13 @@ Ccsv
|
|
3
3
|
|
4
4
|
A pure-C CSV parser.
|
5
5
|
|
6
|
+
for after make changes - add description to CHANGELOG and run rake build
|
7
|
+
|
6
8
|
== License
|
7
9
|
|
8
|
-
Copyright 2007, 2008 Cloudburst, LLC. Licensed under the AFL 3. See the included LICENSE file.
|
10
|
+
Copyright 2007, 2008 Cloudburst, LLC. Licensed under the AFL 3. See the included LICENSE file.
|
9
11
|
|
10
|
-
The public certificate for the gem is here[http://
|
12
|
+
The public certificate for the gem is here[http://blog.evanweaver.com/files/evan_weaver-original-public_cert.pem].
|
11
13
|
|
12
14
|
If you use this software, please {make a donation}[http://blog.evanweaver.com/donate/], or {recommend Evan}[http://www.workingwithrails.com/person/7739-evan-weaver] at Working with Rails.
|
13
15
|
|
data/Rakefile
CHANGED
@@ -4,6 +4,6 @@ Echoe.new("ccsv") do |p|
|
|
4
4
|
p.author = "Evan Weaver"
|
5
5
|
p.project = "fauna"
|
6
6
|
p.summary = "A pure-C CSV parser."
|
7
|
-
p.url = "http://
|
8
|
-
p.docs_host = "
|
7
|
+
p.url = "http://github.com/evan/ccsv/"
|
8
|
+
p.docs_host = "evan.github.com/fauna/"
|
9
9
|
end
|
data/ccsv.gemspec
CHANGED
@@ -2,31 +2,30 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{ccsv}
|
5
|
-
s.version = "0.1"
|
5
|
+
s.version = "0.1.1"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
|
8
|
-
s.authors = [
|
9
|
-
s.cert_chain = [
|
10
|
-
s.date = %q{
|
8
|
+
s.authors = [%q{Evan Weaver}]
|
9
|
+
s.cert_chain = [%q{/Users/eweaver/p/configuration/gem_certificates/evan_weaver-original-public_cert.pem}]
|
10
|
+
s.date = %q{2012-02-11}
|
11
11
|
s.description = %q{A pure-C CSV parser.}
|
12
12
|
s.email = %q{}
|
13
|
-
s.extensions = [
|
14
|
-
s.extra_rdoc_files = [
|
15
|
-
s.files = [
|
16
|
-
s.homepage = %q{http://
|
17
|
-
s.rdoc_options = [
|
18
|
-
s.require_paths = [
|
13
|
+
s.extensions = [%q{ext/extconf.rb}]
|
14
|
+
s.extra_rdoc_files = [%q{CHANGELOG}, %q{LICENSE}, %q{README.rdoc}, %q{ext/ccsv.c}, %q{ext/ccsv.h}, %q{ext/extconf.rb}]
|
15
|
+
s.files = [%q{CHANGELOG}, %q{LICENSE}, %q{Manifest}, %q{README.rdoc}, %q{Rakefile}, %q{ext/ccsv.c}, %q{ext/ccsv.h}, %q{ext/extconf.rb}, %q{test/data.csv}, %q{test/data_small.csv}, %q{test/unit/test_ccsv.rb}, %q{ccsv.gemspec}]
|
16
|
+
s.homepage = %q{http://github.com/evan/ccsv/}
|
17
|
+
s.rdoc_options = [%q{--line-numbers}, %q{--inline-source}, %q{--title}, %q{Ccsv}, %q{--main}, %q{README.rdoc}]
|
18
|
+
s.require_paths = [%q{lib}, %q{ext}]
|
19
19
|
s.rubyforge_project = %q{fauna}
|
20
|
-
s.rubygems_version = %q{1.
|
20
|
+
s.rubygems_version = %q{1.8.6}
|
21
21
|
s.signing_key = %q{/Users/eweaver/p/configuration/gem_certificates/evan_weaver-original-private_key.pem}
|
22
22
|
s.summary = %q{A pure-C CSV parser.}
|
23
|
-
s.test_files = [
|
23
|
+
s.test_files = [%q{test/unit/test_ccsv.rb}]
|
24
24
|
|
25
25
|
if s.respond_to? :specification_version then
|
26
|
-
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
27
26
|
s.specification_version = 3
|
28
27
|
|
29
|
-
if Gem::Version.new(Gem::
|
28
|
+
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
30
29
|
else
|
31
30
|
end
|
32
31
|
else
|
data/ext/ccsv.c
CHANGED
@@ -7,32 +7,32 @@ static VALUE foreach(VALUE self, VALUE filename) {
|
|
7
7
|
FILE *file = fopen(StringValueCStr(filename), "r");
|
8
8
|
if (file == NULL)
|
9
9
|
rb_raise(rb_eRuntimeError, "File not found");
|
10
|
-
|
10
|
+
|
11
11
|
char line[MAX_LENGTH];
|
12
12
|
char *token;
|
13
13
|
int idx;
|
14
14
|
|
15
15
|
VALUE ary;
|
16
|
-
|
16
|
+
|
17
17
|
while (fgets(line, sizeof(line), file) != NULL) {
|
18
18
|
ary = rb_ary_new();
|
19
19
|
token = strtok(line, DELIMITERS);
|
20
20
|
idx = 0;
|
21
|
-
|
21
|
+
|
22
22
|
while (token != NULL) {
|
23
23
|
rb_ary_store(ary, idx, rb_str_new(token, strlen(token)));
|
24
24
|
idx ++;
|
25
25
|
token = strtok(NULL, DELIMITERS);
|
26
26
|
}
|
27
|
-
|
27
|
+
|
28
28
|
/* OBJ_FREEZE(ary); */
|
29
29
|
rb_yield(ary);
|
30
30
|
/* FL_UNSET((ary), FL_FREEZE); */
|
31
|
-
|
31
|
+
|
32
32
|
/* for(idx = 0; idx < RARRAY_LEN(ary); idx ++) {
|
33
33
|
rb_ary_store(ary, idx, Qnil);
|
34
|
-
} */
|
35
|
-
|
34
|
+
} */
|
35
|
+
|
36
36
|
}
|
37
37
|
|
38
38
|
fclose(file);
|
data/ext/ccsv.h
CHANGED
data/test/unit/test_ccsv.rb
CHANGED
@@ -7,7 +7,6 @@ require 'benchmark'
|
|
7
7
|
begin
|
8
8
|
require 'csv'
|
9
9
|
require 'rubygems'
|
10
|
-
require 'fastercsv'
|
11
10
|
require 'lightcsv'
|
12
11
|
require 'csvscan'
|
13
12
|
|
@@ -18,23 +17,23 @@ begin
|
|
18
17
|
end
|
19
18
|
end
|
20
19
|
end
|
21
|
-
|
20
|
+
|
22
21
|
rescue LoadError
|
23
22
|
end
|
24
23
|
|
25
24
|
class TestCcsv < Test::Unit::TestCase
|
26
|
-
|
25
|
+
|
27
26
|
def setup
|
28
27
|
@dir = "#{File.dirname(__FILE__)}/../"
|
29
28
|
end
|
30
|
-
|
29
|
+
|
31
30
|
def test_should_raise
|
32
31
|
assert_raises(RuntimeError) do
|
33
32
|
Ccsv.foreach('fdssfd') do
|
34
33
|
end
|
35
34
|
end
|
36
35
|
end
|
37
|
-
|
36
|
+
|
38
37
|
def test_accuracy
|
39
38
|
ccsv = []
|
40
39
|
file = @dir + "data_small.csv"
|
@@ -44,18 +43,18 @@ class TestCcsv < Test::Unit::TestCase
|
|
44
43
|
csv = []
|
45
44
|
CSV.foreach(file) do |values|
|
46
45
|
csv << values
|
47
|
-
end
|
46
|
+
end
|
48
47
|
assert_equal csv, ccsv
|
49
48
|
end
|
50
|
-
|
49
|
+
|
51
50
|
def test_speed
|
52
|
-
|
53
|
-
|
54
|
-
x.report(klass.name) do
|
51
|
+
Benchmark.bm(5) do |x|
|
52
|
+
[Ccsv, CSV].each do |klass| # CSVScan, LightCsv,
|
53
|
+
x.report(klass.name) do
|
55
54
|
klass.foreach(@dir + "data.csv") do |values| end
|
56
55
|
end
|
57
56
|
end
|
58
57
|
end
|
59
58
|
end
|
60
|
-
|
59
|
+
|
61
60
|
end
|
metadata
CHANGED
@@ -1,97 +1,112 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: ccsv
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.1
|
5
|
+
prerelease:
|
5
6
|
platform: ruby
|
6
|
-
authors:
|
7
|
+
authors:
|
7
8
|
- Evan Weaver
|
8
9
|
autorequire:
|
9
10
|
bindir: bin
|
10
|
-
cert_chain:
|
11
|
-
-
|
12
|
-
|
11
|
+
cert_chain:
|
12
|
+
- ! '-----BEGIN CERTIFICATE-----
|
13
|
+
|
13
14
|
MIIDLjCCAhagAwIBAgIBADANBgkqhkiG9w0BAQUFADA9MQ0wCwYDVQQDDARldmFu
|
15
|
+
|
14
16
|
MRgwFgYKCZImiZPyLGQBGRYIY2xvdWRidXIxEjAQBgoJkiaJk/IsZAEZFgJzdDAe
|
17
|
+
|
15
18
|
Fw0wNzA5MTYxMDMzMDBaFw0wODA5MTUxMDMzMDBaMD0xDTALBgNVBAMMBGV2YW4x
|
19
|
+
|
16
20
|
GDAWBgoJkiaJk/IsZAEZFghjbG91ZGJ1cjESMBAGCgmSJomT8ixkARkWAnN0MIIB
|
21
|
+
|
17
22
|
IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5C0Io89nyApnr+PvbNFge9Vs
|
23
|
+
|
18
24
|
yRWAlGBUEMahpXp28VrrfXZT0rAW7JBo4PlCE3jl4nE4dzE6gAdItSycjTosrw7A
|
25
|
+
|
19
26
|
Ir5+xoyl4Vb35adv56TIQQXvNz+BzlqnkAY5JN0CSBRTQb6mxS3hFyD/h4qgDosj
|
27
|
+
|
20
28
|
R2RFVzHqSxCS8xq4Ny8uzOwOi+Xyu4w67fI5JvnPvMxqrlR1eaIQHmxnf76RzC46
|
29
|
+
|
21
30
|
QO5QhufjAYGGXd960XzbQsQyTDUYJzrvT7AdOfiyZzKQykKt8dEpDn+QPjFTnGnT
|
31
|
+
|
22
32
|
QmgJBX5WJN0lHF2l1sbv3gh4Kn1tZu+kTUqeXY6ShAoDTyvZRiFqQdwh8w2lTQID
|
33
|
+
|
23
34
|
AQABozkwNzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQU+WqJz3xQ
|
35
|
+
|
24
36
|
XSea1hRvvHWcIMgeeC4wDQYJKoZIhvcNAQEFBQADggEBAGLZ75jfOEW8Nsl26CTt
|
37
|
+
|
25
38
|
JFrWxQTcQT/UljeefVE3xYr7lc9oQjbqO3FOyued3qW7TaNEtZfSHoYeUSMYbpw1
|
39
|
+
|
26
40
|
XAwocIPuSRFDGM4B+hgQGVDx8PMGiJKom4qLXjO40UZsR7QyN/u869Vj45LURm6h
|
41
|
+
|
27
42
|
MBcPeqCASI+WNprj9+uZa2kmHiitrFqqfMBNlm5IFbn9XeYSta9AHVvs5QQqV2m5
|
43
|
+
|
28
44
|
hIPfLqCyxsn/YgOGvo6iwyQTWyTswamaAC3HRWZxIS1sfn/Ssqa7E7oQMkv5FAXr
|
45
|
+
|
29
46
|
x5rKePfXINf8XTJczkl9OBEYdE9aNdJsJpXD0asLgGVwBICS5Bjohp6mizJcDC1+
|
47
|
+
|
30
48
|
yZ0=
|
49
|
+
|
31
50
|
-----END CERTIFICATE-----
|
32
51
|
|
33
|
-
|
34
|
-
|
52
|
+
'
|
53
|
+
date: 2012-02-11 00:00:00.000000000Z
|
35
54
|
dependencies: []
|
36
|
-
|
37
55
|
description: A pure-C CSV parser.
|
38
|
-
email:
|
56
|
+
email: ''
|
39
57
|
executables: []
|
40
|
-
|
41
|
-
extensions:
|
58
|
+
extensions:
|
42
59
|
- ext/extconf.rb
|
43
|
-
extra_rdoc_files:
|
60
|
+
extra_rdoc_files:
|
44
61
|
- CHANGELOG
|
62
|
+
- LICENSE
|
63
|
+
- README.rdoc
|
45
64
|
- ext/ccsv.c
|
46
65
|
- ext/ccsv.h
|
47
66
|
- ext/extconf.rb
|
48
|
-
|
49
|
-
- README
|
50
|
-
files:
|
67
|
+
files:
|
51
68
|
- CHANGELOG
|
69
|
+
- LICENSE
|
70
|
+
- Manifest
|
71
|
+
- README.rdoc
|
72
|
+
- Rakefile
|
52
73
|
- ext/ccsv.c
|
53
74
|
- ext/ccsv.h
|
54
75
|
- ext/extconf.rb
|
55
|
-
- LICENSE
|
56
|
-
- Manifest
|
57
|
-
- README
|
58
76
|
- test/data.csv
|
59
77
|
- test/data_small.csv
|
60
78
|
- test/unit/test_ccsv.rb
|
61
79
|
- ccsv.gemspec
|
62
|
-
|
63
|
-
has_rdoc: true
|
64
|
-
homepage: http://blog.evanweaver.com/files/doc/fauna/ccsv/
|
80
|
+
homepage: http://github.com/evan/ccsv/
|
65
81
|
licenses: []
|
66
|
-
|
67
82
|
post_install_message:
|
68
|
-
rdoc_options:
|
83
|
+
rdoc_options:
|
69
84
|
- --line-numbers
|
70
85
|
- --inline-source
|
71
86
|
- --title
|
72
87
|
- Ccsv
|
73
88
|
- --main
|
74
|
-
- README
|
75
|
-
require_paths:
|
89
|
+
- README.rdoc
|
90
|
+
require_paths:
|
91
|
+
- lib
|
76
92
|
- ext
|
77
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
93
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
94
|
+
none: false
|
95
|
+
requirements:
|
96
|
+
- - ! '>='
|
97
|
+
- !ruby/object:Gem::Version
|
98
|
+
version: '0'
|
99
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
100
|
+
none: false
|
101
|
+
requirements:
|
102
|
+
- - ! '>='
|
103
|
+
- !ruby/object:Gem::Version
|
104
|
+
version: '1.2'
|
89
105
|
requirements: []
|
90
|
-
|
91
106
|
rubyforge_project: fauna
|
92
|
-
rubygems_version: 1.
|
107
|
+
rubygems_version: 1.8.6
|
93
108
|
signing_key:
|
94
109
|
specification_version: 3
|
95
110
|
summary: A pure-C CSV parser.
|
96
|
-
test_files:
|
111
|
+
test_files:
|
97
112
|
- test/unit/test_ccsv.rb
|
metadata.gz.sig
CHANGED
Binary file
|