Module: Flex::Struct::Symbolize

Included in:
Array, Hash
Defined in:
lib/flex/struct/symbolize.rb

Instance Method Summary collapse

Instance Method Details

#symbolize(obj) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/flex/struct/symbolize.rb', line 6

def symbolize(obj)
  case obj
  when Flex::Struct::Hash, Flex::Struct::Array, Flex::Struct::AsIs
    obj
  when ::Hash
    h = Struct::Hash.new
    obj.each do |k,v|
      h[k.to_sym] = symbolize(v)
    end
    h
  when ::Array
    a = Struct::Array.new
    obj.each{|i| a << i}
    a
  else
    obj
  end
end