Module: Saneitized

Defined in:
lib/saneitized/hash.rb,
lib/saneitized/array.rb,
lib/saneitized/version.rb,
lib/saneitized/converter.rb

Defined Under Namespace

Modules: Converter Classes: Array, Hash

Constant Summary collapse

VERSION =
'1.1.0'

Class Method Summary collapse

Class Method Details

.convert(unknown) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/saneitized/converter.rb', line 4

def self.convert(unknown)
  return Saneitized::Hash.new(unknown) if unknown.is_a? ::Hash
  return Saneitized::Array.new(unknown) if unknown.is_a? ::Array
  return unknown unless unknown.is_a? String #Only attempt to convert string
  return true  if unknown == 'true'
  return false if unknown == 'false'

  if value = Converter.integer?(unknown) then return value end
  if value = Converter.float?(unknown)   then return value end
  if value = Converter.json?(unknown)    then return convert(value) end
  if value = Converter.time?(unknown)    then return value end

  unknown
end