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
JSON =
ParserJson.new
YAML =
ParserYaml.new

Class Method Summary collapse

Class Method Details

.defaultObject

alternative alias for DEFAULT



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

def self.default()         DEFAULT;         end

.excelObject

alternative alias for EXCEL



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

def self.excel()           EXCEL;           end

.fObject



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

def self.f()               fixed;           end

.fixObject



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

def self.fix()             fixed;           end

.fixedObject



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

def self.fixed()           FIXED;           end

.humObject



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

def self.hum()             human;           end

.humanObject



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

def self.human()           HUMAN;           end

.hxlObject

HXL (humanitarian eXchange language)



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

def self.hxl()             human;           end

.jObject



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

def self.j()               json;            end

.jsonObject



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

def self.json()            JSON;            end

.mysqlObject



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

def self.mysql()           MYSQL;           end

.nObject



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

def self.n()               numeric;         end

.numObject



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

def self.num()             numeric;         end

.numericObject



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

def self.numeric()         NUMERIC;         end

.postgresObject



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

def self.postgres()        postgresql;      end

.postgres_textObject



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

def self.postgres_text()   postgresql_text; end

.postgresqlObject



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

def self.postgresql()      POSTGRESQL;      end

.postgresql_textObject



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

def self.postgresql_text() POSTGRESQL_TEXT; end

.rfc4180Object

alternative alias for RFC4180



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

def self.rfc4180()         RFC4180;         end

.strictObject

alternative alias for STRICT



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

def self.strict()          STRICT;          end

.tabObject



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

def self.tab()             TAB;             end

.tableObject



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

def self.table()           TABLE;           end

.yObject



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

def self.y()               yaml;            end

.yamlObject



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

def self.yaml()            YAML;            end