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
NUMERIC =
ParserStd.new( numeric: true,
nan: ['#NAN', 'NAN', 'NaN', 'nan' ],
null: "" )
HUMAN =
ParserStd.new( hashtag: true )
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" )
TAB =

(strict) tab-separated

ParserTab.new
TABLE =

space-separated e.g /[ t]+/

ParserTable.new
FIXED =
ParserFixed.new

Class Method Summary collapse

Class Method Details

.defaultObject

alternative alias for DEFAULT



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

def self.default()         DEFAULT;         end

.excelObject

alternative alias for EXCEL



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

def self.excel()           EXCEL;           end

.fObject



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

def self.f()               fixed;           end

.fixObject



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

def self.fix()             fixed;           end

.fixedObject



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

def self.fixed()           FIXED;           end

.humObject



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

def self.hum()             human;           end

.humanObject



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

def self.human()           HUMAN;           end

.hxlObject

HXL (humanitarian eXchange language)



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

def self.hxl()             human;           end

.mysqlObject



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

def self.mysql()           MYSQL;           end

.nObject



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

def self.n()               numeric;         end

.numObject



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

def self.num()             numeric;         end

.numericObject



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

def self.numeric()         NUMERIC;         end

.postgresObject



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

def self.postgres()        postgresql;      end

.postgres_textObject



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

def self.postgres_text()   postgresql_text; end

.postgresqlObject



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

def self.postgresql()      POSTGRESQL;      end

.postgresql_textObject



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

def self.postgresql_text() POSTGRESQL_TEXT; end

.rfc4180Object

alternative alias for RFC4180



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

def self.rfc4180()         RFC4180;         end

.strictObject

alternative alias for STRICT



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

def self.strict()          STRICT;          end

.tabObject



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

def self.tab()             TAB;             end

.tableObject



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

def self.table()           TABLE;           end