module Rack::App::Utils::Parser
Public Instance Methods
parse(type, str)
click to toggle source
# File lib/rack/app/utils/parser.rb, line 12 def parse(type, str) string = str.to_s parser = get_parser(type) return unless parser.validate(string) parser.parse(string) end
Protected Instance Methods
get_parser(type)
click to toggle source
# File lib/rack/app/utils/parser.rb, line 21 def get_parser(type) case true when [::String, :string].include?(type) self::String.new when [::TrueClass, ::FalseClass, :boolean].include?(type) self::Boolean.new when type == :date self::Custom.new(::Date) when type == :time self::Custom.new(::Time) when [:date_time, :datetime].include?(type) self::Custom.new(::DateTime) when [::Integer, :integer].include?(type) self::Integer.new when [::Float, :float].include?(type) self::Float.new when [::Numeric, :numeric].include?(type) self::Numeric.new else self::Custom.new(type) end end