Method: Bj::Table::Config::ClassMethods#casts

Defined in:
lib/bj/table.rb

#castsObject



348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
# File 'lib/bj/table.rb', line 348

def casts
  @casts ||= {
    'to_bool' => lambda do |value|
      value.to_s =~ %r/^true$/i ? true : false
    end,
    'to_i' => lambda do |value|
      Integer value.to_s.gsub(%r/^(-)?0*/,'\1')
    end,
    'to_f' => lambda do |value|
      Float value.to_s.gsub(%r/^0*/,'')
    end,
    'to_time' => lambda do |value|
      Time.parse(value.to_s)
    end,
    'to_sym' => lambda do |value|
      value.to_s.to_sym
    end,
    'to_nil' => lambda do |value|
      value.to_s =~ %r/^nil$|^$/i ? nil : value.to_s 
    end,
    'to_s' => lambda do |value|
      value.to_s
    end,
  }
end