Sha256: 4676a86f44dc38efb8933e55dba9c9b295a83a52f0309c9f259bdd5b3b0304c1
Contents?: true
Size: 412 Bytes
Versions: 1
Compression:
Stored size: 412 Bytes
Contents
require "ostruct" module Vultr class Object < OpenStruct def initialize(attributes) super(to_ostruct(attributes)) end def to_ostruct(obj) if obj.is_a?(Hash) OpenStruct.new(obj.map { |key, val| [key, to_ostruct(val)] }.to_h) 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
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
vultr-2.0.0 | lib/vultr/object.rb |