module RecursiveOpenStruct

Public Instance Methods

build_open_struct(elem) click to toggle source
# 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