Sha256: 2dc488ab09a83c5d9fd2e907b21d48a230559f5203c0681dbbc49c8b89b24692
Contents?: true
Size: 440 Bytes
Versions: 6
Compression:
Stored size: 440 Bytes
Contents
# frozen_string_literal: true require "ostruct" module Pinata class Object < OpenStruct def initialize(attributes) super(to_ostruct(attributes)) end def to_ostruct(obj) if obj.is_a?(Hash) OpenStruct.new(obj.transform_values { |val| to_ostruct(val) }) elsif obj.is_a?(Array) obj.map { |o| to_ostruct(o) } else # Assumed to be a primitive value obj end end end end
Version data entries
6 entries across 6 versions & 1 rubygems