ccsv 0.1 → 0.1.1
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.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
|