Sha256: e458cb2a532c0b0521cea9171b00e2afc184720bb03827660ea6e3d909cce537
Contents?: true
Size: 497 Bytes
Versions: 20
Compression:
Stored size: 497 Bytes
Contents
class Hash def to_ostruct convert_to_ostruct_recursive(self) end private def convert_to_ostruct_recursive(obj) result = obj if result.is_a? Hash result = result.dup.symbolize_keys result.each do |key, val| result[key] = convert_to_ostruct_recursive(val) end result = OpenStruct.new(result) elsif result.is_a? Array result = result.map { |r| convert_to_ostruct_recursive(r) } end result end end
Version data entries
20 entries across 20 versions & 2 rubygems