fasterer-csv 1.2.0 → 1.4.0
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/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
|