Class: TreasureData::FileReader::AutoTypeConvertParserFilter

Inherits:
Object
  • Object
show all
Defined in:
lib/td/file_reader.rb

Instance Method Summary collapse

Constructor Details

#initialize(parser, error, opts) ⇒ AutoTypeConvertParserFilter

Returns a new instance of AutoTypeConvertParserFilter.



197
198
199
200
201
202
# File 'lib/td/file_reader.rb', line 197

def initialize(parser, error, opts)
  @parser = parser
  @null_expr = opts[:null_expr]
  @true_expr = opts[:true_expr]
  @false_expr = opts[:false_expr]
end

Instance Method Details

#forwardObject



204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
# File 'lib/td/file_reader.rb', line 204

def forward
  array = @parser.forward
  array.map! {|s|
    if !s.is_a?(String)
      s
    elsif s =~ @null_expr
      nil
    elsif s =~ @true_expr
      true
    elsif s =~ @false_expr
      false
    else
      # nil.to_i == 0 != nil.to_s
      i = s.to_i
      i.to_s == s ? i : s
    end
  }
end