Class: Decidim::Elections::Admin::Censuses::TokenCsvForm

Inherits:
Form
  • Object
show all
Includes:
HasUploadValidations
Defined in:
app/forms/decidim/elections/admin/censuses/token_csv_form.rb

Instance Method Summary collapse

Instance Method Details

#dataObject



26
27
28
# File 'app/forms/decidim/elections/admin/censuses/token_csv_form.rb', line 26

def data
  parse_csv_data&.values || []
end

#errors_dataObject



30
31
32
# File 'app/forms/decidim/elections/admin/censuses/token_csv_form.rb', line 30

def errors_data
  parse_csv_data&.errors || []
end

#parse_csv_dataObject



15
16
17
18
19
20
21
22
23
24
# File 'app/forms/decidim/elections/admin/censuses/token_csv_form.rb', line 15

def parse_csv_data
  return @csv_data if defined?(@csv_data)
  return nil if file.blank?

  file_io = StringIO.new(file.download)
  @csv_data = CsvCensus::Data.new(file_io)
rescue CSV::MalformedCSVError
  errors.add(:file, :malformed)
  @csv_data = nil
end