Sha256: 445f848bd8804ef4cde7bce0eb6f930e5b436abab7a67860d227258abd6359b0
Contents?: true
Size: 491 Bytes
Versions: 2
Compression:
Stored size: 491 Bytes
Contents
require "ostruct" module StreamElements class Object < OpenStruct def initialize(attributes) attributes["id"] = attributes.delete("_id") if attributes["_id"] 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
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
streamelements-0.5.0 | lib/stream_elements/object.rb |
streamelements-0.2.0 | lib/stream_elements/object.rb |