Class: Scaffolding::Parser::Csv
- Inherits:
-
Base
- Object
- Base
- Scaffolding::Parser::Csv
show all
- Defined in:
- lib/scaffolding/parser/csv.rb
Instance Method Summary
collapse
Methods inherited from Base
#build_string, #clean_source_name, #col_seperator, #data_types, #errors, #file, #import_data, #initialize, #predict_row, #results, #save_row, #scaffold_rank, #source_name, #utf8_encode, #valid_data?, #web
Instance Method Details
#groom_data ⇒ Object
5
6
7
8
|
# File 'lib/scaffolding/parser/csv.rb', line 5
def groom_data
@headers = true
setup_columns
end
|
#process_data(process_row) ⇒ Object
16
17
18
19
20
21
22
23
24
25
|
# File 'lib/scaffolding/parser/csv.rb', line 16
def process_data(process_row)
CSV.parse(@data, headers: @headers, col_sep: @col_seperator, skip_blanks: true) do |row|
@row_number += 1
begin
self.send(process_row, row.inject({}){|row,(k,v)| row[k.downcase.to_sym] = v; row})
rescue => e
@errors << "Unable to process row #{@row_number} Error: #{e}\n"
end
end
end
|
#setup_columns ⇒ Object
10
11
12
13
14
|
# File 'lib/scaffolding/parser/csv.rb', line 10
def setup_columns
CSV.parse(@data, headers: @headers, col_sep: @col_seperator, skip_blanks: true).first.each do |column|
@scaffolding[column[0].downcase.to_sym] = data_types
end
end
|