Module: TotalIn::Typecaster

Defined in:
lib/total_in/typecaster.rb

Class Method Summary collapse

Class Method Details

.cast(value, type) ⇒ Object



5
6
7
# File 'lib/total_in/typecaster.rb', line 5

def self.cast value, type
  casters.fetch(type).call(value) unless value == ""
end

.castersObject



9
10
11
12
13
14
15
16
17
# File 'lib/total_in/typecaster.rb', line 9

def self.casters
  {
    integer: ->(value) { value.to_i },
    time: ->(value) { Time.strptime(value, "%Y%m%d%H%M%S%N") },
    date: ->(value) { Date.strptime(value, "%Y%m%d") },
    string: ->(value) { value unless value.match(/\A0+\Z/) },
    raw: ->(value) { value }
  }
end