Class: Darlingtonia::CsvFormatValidator

Inherits:
Validator
  • Object
show all
Defined in:
lib/darlingtonia/validators/csv_format_validator.rb

Overview

A validator for correctly formatted CSV.

Examples:

parser = Parser.new(file: File.open('path/to/my.csv'))

CsvFormatValidator.new.validate(parser: parser)

See Also:

Instance Attribute Summary

Attributes inherited from Validator

#error_stream

Instance Method Summary collapse

Methods inherited from Validator

#initialize, #validate

Constructor Details

This class inherits a constructor from Darlingtonia::Validator

Instance Method Details

#run_validation(parser:) ⇒ Object

See Also:



18
19
20
21
22
23
24
# File 'lib/darlingtonia/validators/csv_format_validator.rb', line 18

def run_validation(parser:, **)
  return [] if CSV.parse(parser.file.read)
rescue CSV::MalformedCSVError => e
  [Error.new(self.class, e.class, e.message)]
ensure
  parser.file.rewind
end