Module: RecursiveOpenStruct

Defined in:
lib/apl-library/recursive_open_struct.rb

Instance Method Summary collapse

Instance Method Details

#build_open_struct(elem) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
# File 'lib/apl-library/recursive_open_struct.rb', line 4

def build_open_struct(elem)
  case elem
    when Array
      elem.map { |x| build_open_struct x }
    when Hash
      elem = elem.inject({}) { |h, (k, v)| h[k] = build_open_struct(v); h }
      OpenStruct.new(elem)
    else
      elem
  end
end