|
|
|
@ -1,8 +1,8 @@ |
|
|
|
require "csv" |
|
|
|
require "csv" |
|
|
|
|
|
|
|
|
|
|
|
class BulkUpload::Lettings::Year2022::CsvParser |
|
|
|
class BulkUpload::Lettings::Year2022::CsvParser |
|
|
|
MIN_COLUMNS = 134 |
|
|
|
FIELDS = 134 |
|
|
|
MAX_COLUMNS = 136 |
|
|
|
MAX_COLUMNS = 135 |
|
|
|
|
|
|
|
|
|
|
|
attr_reader :path |
|
|
|
attr_reader :path |
|
|
|
|
|
|
|
|
|
|
|
@ -44,16 +44,20 @@ class BulkUpload::Lettings::Year2022::CsvParser |
|
|
|
cols[headers.find_index(field) + col_offset] |
|
|
|
cols[headers.find_index(field) + col_offset] |
|
|
|
end |
|
|
|
end |
|
|
|
|
|
|
|
|
|
|
|
private |
|
|
|
def valid_field_numbers_count |
|
|
|
|
|
|
|
FIELDS |
|
|
|
def headers |
|
|
|
|
|
|
|
@headers ||= ("field_1".."field_134").to_a |
|
|
|
|
|
|
|
end |
|
|
|
end |
|
|
|
|
|
|
|
|
|
|
|
def with_headers? |
|
|
|
def with_headers? |
|
|
|
rows[0][0]&.match?(/\D+/) |
|
|
|
rows[0][0]&.match?(/\D+/) |
|
|
|
end |
|
|
|
end |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def headers |
|
|
|
|
|
|
|
@headers ||= ("field_1".."field_134").to_a |
|
|
|
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
|
|
def row_sep |
|
|
|
def row_sep |
|
|
|
"\n" |
|
|
|
"\n" |
|
|
|
end |
|
|
|
end |
|
|
|
|