fasterer-csv 1.2.0 → 1.4.0
Sign up to get free protection for your applications and to get access to all the features.
- data/VERSION +1 -1
- data/fasterer-csv.gemspec +3 -2
- data/lib/fasterer_csv.rb +7 -7
- data/pkg/fasterer-csv-1.2.0.gem +0 -0
- metadata +5 -4
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.
|
1
|
+
1.4.0
|
data/fasterer-csv.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{fasterer-csv}
|
8
|
-
s.version = "1.
|
8
|
+
s.version = "1.4.0"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Mason"]
|
12
|
-
s.date = %q{2010-06-
|
12
|
+
s.date = %q{2010-06-21}
|
13
13
|
s.description = %q{CSV parsing awesomeness}
|
14
14
|
s.email = %q{mason@chipped.net}
|
15
15
|
s.extra_rdoc_files = [
|
@@ -40,6 +40,7 @@ Gem::Specification.new do |s|
|
|
40
40
|
"pkg/fasterer-csv-0.0.9.gem",
|
41
41
|
"pkg/fasterer-csv-1.0.0.gem",
|
42
42
|
"pkg/fasterer-csv-1.1.0.gem",
|
43
|
+
"pkg/fasterer-csv-1.2.0.gem",
|
43
44
|
"spec/fasterer_csv_spec.rb",
|
44
45
|
"spec/spec.opts",
|
45
46
|
"spec/spec_helper.rb"
|
data/lib/fasterer_csv.rb
CHANGED
@@ -270,14 +270,14 @@ module FastererCSV
|
|
270
270
|
end
|
271
271
|
|
272
272
|
class IOWriter
|
273
|
-
def initialize(file, quot = '~', sep = ',') @first = true; @io = file; @quot = quot; @sep = sep end
|
273
|
+
def initialize(file, quot = '~', sep = ',', quotenum = false) @first = true; @io = file; @quot = quot; @sep = sep; @quotenum = quotenum end
|
274
274
|
def <<(row)
|
275
275
|
raise "can only write arrays! #{row.class} #{row.inspect}" unless row.is_a? Array
|
276
276
|
if @first && row.is_a?(Row)
|
277
277
|
@first = false
|
278
278
|
self.<<(row.headers)
|
279
279
|
end
|
280
|
-
@io.syswrite FastererCSV::quot_row(row, @quot, @sep)
|
280
|
+
@io.syswrite FastererCSV::quot_row(row, @quot, @sep, @quotenum)
|
281
281
|
row
|
282
282
|
end
|
283
283
|
end
|
@@ -372,7 +372,7 @@ module FastererCSV
|
|
372
372
|
table
|
373
373
|
end
|
374
374
|
|
375
|
-
def quot_row(row, q = '~', s = ',')
|
375
|
+
def quot_row(row, q = '~', s = ',', numquot = false)
|
376
376
|
num_quot = /(?:[#{q}#{s}\n]|^\d+$)/
|
377
377
|
need_quot = /[#{q}#{s}\n]/
|
378
378
|
row.map do |val|
|
@@ -381,7 +381,7 @@ module FastererCSV
|
|
381
381
|
elsif val.is_a? Numeric
|
382
382
|
val.to_s
|
383
383
|
else
|
384
|
-
quot = val.is_a?(Symbol) ? need_quot : num_quot
|
384
|
+
quot = (val.is_a?(Symbol) || !numquot) ? need_quot : num_quot
|
385
385
|
val = String(val)
|
386
386
|
if val.length == 0
|
387
387
|
q * 2
|
@@ -398,13 +398,13 @@ module FastererCSV
|
|
398
398
|
builder.string
|
399
399
|
end
|
400
400
|
|
401
|
-
def write(out, quot = '~', sep = ',', &block)
|
401
|
+
def write(out, quot = '~', sep = ',', quotenum = false, &block)
|
402
402
|
if out.class == String
|
403
403
|
File.open(out, "w") do |io|
|
404
|
-
write(io, quot, sep, &block)
|
404
|
+
write(io, quot, sep, quotenum, &block)
|
405
405
|
end
|
406
406
|
else
|
407
|
-
yield(IOWriter.new(out, quot, sep))
|
407
|
+
yield(IOWriter.new(out, quot, sep, quotenum))
|
408
408
|
end
|
409
409
|
end
|
410
410
|
end
|
Binary file
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fasterer-csv
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 7
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 1
|
8
|
-
-
|
8
|
+
- 4
|
9
9
|
- 0
|
10
|
-
version: 1.
|
10
|
+
version: 1.4.0
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Mason
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2010-06-
|
18
|
+
date: 2010-06-21 00:00:00 -07:00
|
19
19
|
default_executable:
|
20
20
|
dependencies: []
|
21
21
|
|
@@ -52,6 +52,7 @@ files:
|
|
52
52
|
- pkg/fasterer-csv-0.0.9.gem
|
53
53
|
- pkg/fasterer-csv-1.0.0.gem
|
54
54
|
- pkg/fasterer-csv-1.1.0.gem
|
55
|
+
- pkg/fasterer-csv-1.2.0.gem
|
55
56
|
- spec/fasterer_csv_spec.rb
|
56
57
|
- spec/spec.opts
|
57
58
|
- spec/spec_helper.rb
|