Module: CastSystem
- Defined in:
- lib/cast_system.rb
Constant Summary collapse
- TO =
{ :numeric => lambda { |v| v.to_i }, :float => lambda { |v| v.to_f }, :timestamp => lambda { |v| unless v.kind_of? Time Time.at(v.to_i) else v end }, :boolean => lambda { |v| case v when "false" then false when "true" then true end }, :regex => lambda { |v| Regexp.new(v) }, :string => lambda { |v| v.to_s } }
- FROM =
{ :numeric => lambda { |v| FROM[:string].call v }, :float => lambda { |v| FROM[:string].call v }, :timestamp => lambda { |v| FROM[:string].call v.to_i }, :boolean => lambda { |v| FROM[:string].call v }, :regex => lambda { |v| FROM[:string].call v }, :string => lambda { |v| v.to_s } }
Instance Method Summary collapse
Instance Method Details
#cast(val, type) ⇒ Object
31 32 33 |
# File 'lib/cast_system.rb', line 31 def cast(val, type) CastSystem::TO[type].call(val) end |
#uncast(val, type) ⇒ Object
35 36 37 |
# File 'lib/cast_system.rb', line 35 def uncast(val, type) CastSystem::FROM[type].call(val) end |