excelsior 0.0.7 → 0.0.9
Sign up to get free protection for your applications and to get access to all the features.
- data/Rakefile +1 -1
- data/ext/excelsior_reader/excelsior_reader.c +28 -29
- data/ext/excelsior_reader/excelsior_reader.rl +5 -6
- metadata +2 -2
data/Rakefile
CHANGED
@@ -8,7 +8,7 @@ PKG_FILES = %w(Rakefile) +
|
|
8
8
|
|
9
9
|
gem_spec = Gem::Specification.new do |gem_spec|
|
10
10
|
gem_spec.name = 'excelsior'
|
11
|
-
gem_spec.version = '0.0.
|
11
|
+
gem_spec.version = '0.0.9'
|
12
12
|
gem_spec.summary = 'A Ruby gem that uses C bindings to read CSV files superfast. I\'m totally serial!'
|
13
13
|
gem_spec.description = 'A Ruby gem that uses C bindings to read CSV files superfast. I\'m totally serial!'
|
14
14
|
gem_spec.email = 'matt@toastyapps.com'
|
@@ -1,5 +1,5 @@
|
|
1
1
|
|
2
|
-
#line 1 "excelsior_reader.rl"
|
2
|
+
#line 1 "ext/excelsior_reader/excelsior_reader.rl"
|
3
3
|
#include <ruby.h>
|
4
4
|
|
5
5
|
static ID s_read;
|
@@ -8,11 +8,11 @@ int has_found = 0;
|
|
8
8
|
#define BUFSIZE 16384
|
9
9
|
|
10
10
|
|
11
|
-
#line 23 "excelsior_reader.rl"
|
11
|
+
#line 23 "ext/excelsior_reader/excelsior_reader.rl"
|
12
12
|
|
13
13
|
|
14
14
|
|
15
|
-
#line 16 "excelsior_reader.c"
|
15
|
+
#line 16 "ext/excelsior_reader/excelsior_reader.c"
|
16
16
|
static const char _excelsior_scan_actions[] = {
|
17
17
|
0, 1, 2, 1, 7, 1, 8, 1,
|
18
18
|
9, 1, 10, 1, 11, 2, 0, 1,
|
@@ -71,7 +71,7 @@ static const int excelsior_scan_error = 0;
|
|
71
71
|
static const int excelsior_scan_en_main = 2;
|
72
72
|
|
73
73
|
|
74
|
-
#line 26 "excelsior_reader.rl"
|
74
|
+
#line 26 "ext/excelsior_reader/excelsior_reader.rl"
|
75
75
|
|
76
76
|
|
77
77
|
VALUE e_rows(int argc, VALUE *argv, VALUE self) {
|
@@ -92,7 +92,7 @@ VALUE e_rows(int argc, VALUE *argv, VALUE self) {
|
|
92
92
|
buf = (char *) malloc(buffer_size); //ALLOC_N(char, buffer_size); <= This caused problems
|
93
93
|
|
94
94
|
|
95
|
-
#line 96 "excelsior_reader.c"
|
95
|
+
#line 96 "ext/excelsior_reader/excelsior_reader.c"
|
96
96
|
{
|
97
97
|
cs = excelsior_scan_start;
|
98
98
|
ts = 0;
|
@@ -100,7 +100,7 @@ VALUE e_rows(int argc, VALUE *argv, VALUE self) {
|
|
100
100
|
act = 0;
|
101
101
|
}
|
102
102
|
|
103
|
-
#line 46 "excelsior_reader.rl"
|
103
|
+
#line 46 "ext/excelsior_reader/excelsior_reader.rl"
|
104
104
|
|
105
105
|
while(!done) {
|
106
106
|
|
@@ -116,12 +116,11 @@ VALUE e_rows(int argc, VALUE *argv, VALUE self) {
|
|
116
116
|
} else {
|
117
117
|
// Going to assume it's a string and already in memory
|
118
118
|
//str = io;
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
done = 1;
|
119
|
+
p = RSTRING_PTR(io);
|
120
|
+
len = RSTRING_LEN(io);
|
121
|
+
pe = p + len;
|
122
|
+
eof = pe;
|
123
|
+
done = 1;
|
125
124
|
}
|
126
125
|
|
127
126
|
if(len < space) {
|
@@ -134,7 +133,7 @@ VALUE e_rows(int argc, VALUE *argv, VALUE self) {
|
|
134
133
|
}
|
135
134
|
|
136
135
|
|
137
|
-
#line
|
136
|
+
#line 137 "ext/excelsior_reader/excelsior_reader.c"
|
138
137
|
{
|
139
138
|
int _klen;
|
140
139
|
unsigned int _trans;
|
@@ -152,10 +151,10 @@ _resume:
|
|
152
151
|
while ( _nacts-- > 0 ) {
|
153
152
|
switch ( *_acts++ ) {
|
154
153
|
case 2:
|
155
|
-
#line 1 "excelsior_reader.rl"
|
154
|
+
#line 1 "ext/excelsior_reader/excelsior_reader.rl"
|
156
155
|
{ts = p;}
|
157
156
|
break;
|
158
|
-
#line
|
157
|
+
#line 158 "ext/excelsior_reader/excelsior_reader.c"
|
159
158
|
}
|
160
159
|
}
|
161
160
|
|
@@ -221,39 +220,39 @@ _eof_trans:
|
|
221
220
|
switch ( *_acts++ )
|
222
221
|
{
|
223
222
|
case 3:
|
224
|
-
#line 1 "excelsior_reader.rl"
|
223
|
+
#line 1 "ext/excelsior_reader/excelsior_reader.rl"
|
225
224
|
{te = p+1;}
|
226
225
|
break;
|
227
226
|
case 4:
|
228
|
-
#line 18 "excelsior_reader.rl"
|
227
|
+
#line 18 "ext/excelsior_reader/excelsior_reader.rl"
|
229
228
|
{act = 2;}
|
230
229
|
break;
|
231
230
|
case 5:
|
232
|
-
#line 19 "excelsior_reader.rl"
|
231
|
+
#line 19 "ext/excelsior_reader/excelsior_reader.rl"
|
233
232
|
{act = 3;}
|
234
233
|
break;
|
235
234
|
case 6:
|
236
|
-
#line 20 "excelsior_reader.rl"
|
235
|
+
#line 20 "ext/excelsior_reader/excelsior_reader.rl"
|
237
236
|
{act = 4;}
|
238
237
|
break;
|
239
238
|
case 7:
|
240
|
-
#line 17 "excelsior_reader.rl"
|
239
|
+
#line 17 "ext/excelsior_reader/excelsior_reader.rl"
|
241
240
|
{te = p+1;{ if(has_found ==0) rb_ary_push(arr, Qnil); rb_yield(arr); arr = rb_ary_new(); has_found = 0; }}
|
242
241
|
break;
|
243
242
|
case 8:
|
244
|
-
#line 21 "excelsior_reader.rl"
|
243
|
+
#line 21 "ext/excelsior_reader/excelsior_reader.rl"
|
245
244
|
{te = p+1;{ if(has_found == 0) rb_ary_push(arr, Qnil); has_found = 0;}}
|
246
245
|
break;
|
247
246
|
case 9:
|
248
|
-
#line 17 "excelsior_reader.rl"
|
247
|
+
#line 17 "ext/excelsior_reader/excelsior_reader.rl"
|
249
248
|
{te = p;p--;{ if(has_found ==0) rb_ary_push(arr, Qnil); rb_yield(arr); arr = rb_ary_new(); has_found = 0; }}
|
250
249
|
break;
|
251
250
|
case 10:
|
252
|
-
#line 20 "excelsior_reader.rl"
|
251
|
+
#line 20 "ext/excelsior_reader/excelsior_reader.rl"
|
253
252
|
{te = p;p--;{ rb_ary_push(arr, rb_str_new(ts + 1, te - ts - 2)); has_found = 1;}}
|
254
253
|
break;
|
255
254
|
case 11:
|
256
|
-
#line 1 "excelsior_reader.rl"
|
255
|
+
#line 1 "ext/excelsior_reader/excelsior_reader.rl"
|
257
256
|
{ switch( act ) {
|
258
257
|
case 0:
|
259
258
|
{{cs = 0; goto _again;}}
|
@@ -270,7 +269,7 @@ _eof_trans:
|
|
270
269
|
}
|
271
270
|
}
|
272
271
|
break;
|
273
|
-
#line
|
272
|
+
#line 273 "ext/excelsior_reader/excelsior_reader.c"
|
274
273
|
}
|
275
274
|
}
|
276
275
|
|
@@ -280,14 +279,14 @@ _again:
|
|
280
279
|
while ( _nacts-- > 0 ) {
|
281
280
|
switch ( *_acts++ ) {
|
282
281
|
case 0:
|
283
|
-
#line 1 "excelsior_reader.rl"
|
282
|
+
#line 1 "ext/excelsior_reader/excelsior_reader.rl"
|
284
283
|
{ts = 0;}
|
285
284
|
break;
|
286
285
|
case 1:
|
287
|
-
#line 1 "excelsior_reader.rl"
|
286
|
+
#line 1 "ext/excelsior_reader/excelsior_reader.rl"
|
288
287
|
{act = 0;}
|
289
288
|
break;
|
290
|
-
#line
|
289
|
+
#line 290 "ext/excelsior_reader/excelsior_reader.c"
|
291
290
|
}
|
292
291
|
}
|
293
292
|
|
@@ -307,7 +306,7 @@ _again:
|
|
307
306
|
_out: {}
|
308
307
|
}
|
309
308
|
|
310
|
-
#line
|
309
|
+
#line 78 "ext/excelsior_reader/excelsior_reader.rl"
|
311
310
|
|
312
311
|
if(ts != 0) { // we are not at the end
|
313
312
|
have = pe - ts; //so copy stuff back in
|
@@ -58,12 +58,11 @@ VALUE e_rows(int argc, VALUE *argv, VALUE self) {
|
|
58
58
|
} else {
|
59
59
|
// Going to assume it's a string and already in memory
|
60
60
|
//str = io;
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
done = 1;
|
61
|
+
p = RSTRING_PTR(io);
|
62
|
+
len = RSTRING_LEN(io);
|
63
|
+
pe = p + len;
|
64
|
+
eof = pe;
|
65
|
+
done = 1;
|
67
66
|
}
|
68
67
|
|
69
68
|
if(len < space) {
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: excelsior
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matthew Mongeau
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-12-
|
12
|
+
date: 2009-12-10 00:00:00 -05:00
|
13
13
|
default_executable:
|
14
14
|
dependencies: []
|
15
15
|
|