fasterer-csv 0.0.5 → 0.0.6

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.
Files changed (2) hide show
  1. data/lib/fasterer_csv.rb +10 -10
  2. metadata +4 -4
data/lib/fasterer_csv.rb CHANGED
@@ -176,19 +176,19 @@ module FastererCSV
176
176
 
177
177
  class << self
178
178
 
179
- def headers(file, quot = '~', sep = ',', &block)
180
- parse_headers(File.open(file, 'r') {|io| io.gets }, quot, sep, &block)
179
+ def headers(file, quot = '~', sep = ',', fail_on_malformed = true, &block)
180
+ parse_headers(File.open(file, 'r') {|io| io.gets }, quot, sep, fail_on_malformed, &block)
181
181
  end
182
182
 
183
- def read(file, quot = '~', sep = ',', &block)
184
- parse(File.open(file, 'r') { |io| io.sysread(File.size(file)) }, quot, sep, &block)
183
+ def read(file, quot = '~', sep = ',', fail_on_malformed = true, &block)
184
+ parse(File.open(file, 'r') { |io| io.sysread(File.size(file)) }, quot, sep, fail_on_malformed, &block)
185
185
  end
186
186
 
187
- def parse_headers(data, quot = '~', sep = ',', &block)
188
- parse(data, quot, sep, &block).headers
187
+ def parse_headers(data, quot = '~', sep = ',', fail_on_malformed = true, &block)
188
+ parse(data, quot, sep, fail_on_malformed, &block).headers
189
189
  end
190
190
 
191
- def parse(data, quot = '~', sep = ',')
191
+ def parse(data, quot = '~', sep = ',', fail_on_malformed = true)
192
192
  q, s, row, column, inquot, clean, maybe, table, field, endline = quot[0], sep[0], [], [], false, true, false, nil, true, false
193
193
 
194
194
  data.each_byte do |c|
@@ -201,7 +201,7 @@ module FastererCSV
201
201
  elsif maybe && c == ?\n && table.nil?
202
202
  row << column.join unless (column.empty? && endline)
203
203
  column.clear
204
- table = Table.new(row) unless row.empty?
204
+ table = Table.new(row, fail_on_malformed) unless row.empty?
205
205
  row, clean, inquot, maybe, field, endline = [], true, false, false, false, true
206
206
  elsif maybe && c == ?\n
207
207
  row << column.join unless (column.empty? && endline)
@@ -231,7 +231,7 @@ module FastererCSV
231
231
  end
232
232
 
233
233
  column.clear
234
- table = Table.new(row) unless row.empty?
234
+ table = Table.new(row, fail_on_malformed) unless row.empty?
235
235
  row, clean, inquot, field, endline = [], true, false, false, true
236
236
  elsif c == ?\n
237
237
 
@@ -259,7 +259,7 @@ module FastererCSV
259
259
  if table
260
260
  table << row unless row.empty?
261
261
  else
262
- table = Table.new(row) unless row.empty?
262
+ table = Table.new(row, fail_on_malformed) unless row.empty?
263
263
  end
264
264
  elsif field
265
265
  row << (column.empty? ? nil : column.join)
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: 21
4
+ hash: 19
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 5
10
- version: 0.0.5
9
+ - 6
10
+ version: 0.0.6
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-01 00:00:00 -07:00
18
+ date: 2010-06-07 00:00:00 -07:00
19
19
  default_executable:
20
20
  dependencies: []
21
21