Class: CsvReader::Parser

Inherits:
Object
  • Object
show all
Defined in:
lib/csvreader/base.rb,
lib/csvreader/parser.rb

Constant Summary collapse

DEFAULT =

use/allow different “backends” e.g. ParserStd, ParserStrict, ParserTab, etc.

parser must support parse method (with and without block)
 e.g.  records = parse( data )
          -or-
       parse( data ) do |record|
       end
ParserStd.new
RFC4180 =
ParserStrict.new
STRICT =

note: make strict its own instance (so you can change config without “breaking” rfc4180)

ParserStrict.new
EXCEL =

note: make excel its own instance (so you can change configs without “breaking” rfc4180/strict)

ParserStrict.new
MYSQL =
ParserStrict.new( sep: "\t",
quote: false,
escape: true,
null: "\\N" )
POSTGRES =
POSTGRESQL = ParserStrict.new( doublequote: false,
escape: true,
null: "" )
POSTGRES_TEXT =
POSTGRESQL_TEXT = ParserStrict.new( sep: "\t",
quote: false,
escape: true,
null: "\\N" )
NUMERIC =
ParserStrict.new( numeric: true,
nan: ['#NAN', 'NAN', 'NaN', 'nan' ],
null: "" )
TAB =
ParserTab.new

Class Method Summary collapse

Class Method Details

.defaultObject

alternative alias for DEFAULT



64
# File 'lib/csvreader/base.rb', line 64

def self.default()         DEFAULT;         end

.excelObject

alternative alias for EXCEL



67
# File 'lib/csvreader/base.rb', line 67

def self.excel()           EXCEL;           end

.mysqlObject



68
# File 'lib/csvreader/base.rb', line 68

def self.mysql()           MYSQL;           end

.numericObject



73
# File 'lib/csvreader/base.rb', line 73

def self.numeric()         NUMERIC;         end

.postgresObject



70
# File 'lib/csvreader/base.rb', line 70

def self.postgres()        postgresql;      end

.postgres_textObject



72
# File 'lib/csvreader/base.rb', line 72

def self.postgres_text()   postgresql_text; end

.postgresqlObject



69
# File 'lib/csvreader/base.rb', line 69

def self.postgresql()      POSTGRESQL;      end

.postgresql_textObject



71
# File 'lib/csvreader/base.rb', line 71

def self.postgresql_text() POSTGRESQL_TEXT; end

.rfc4180Object

alternative alias for RFC4180



66
# File 'lib/csvreader/base.rb', line 66

def self.rfc4180()         RFC4180;         end

.strictObject

alternative alias for STRICT



65
# File 'lib/csvreader/base.rb', line 65

def self.strict()          STRICT;          end

.tabObject



74
# File 'lib/csvreader/base.rb', line 74

def self.tab()             TAB;             end