module Norma43::Utils::Typecaster

Public Class Methods

cast(value, type) click to toggle source
# File lib/norma43/utils/typecaster.rb, line 8
def self.cast(value, type)
  casters.fetch(type).call(value) unless value == ""
end
casters() click to toggle source
# File lib/norma43/utils/typecaster.rb, line 12
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