class DTK::DSL::InputOutputCommon::Hash
Public Class Methods
new(parent_class, hash = nil)
click to toggle source
Calls superclass method
# File lib/dsl/input_output_common/hash.rb, line 21 def initialize(parent_class, hash = nil) super() replace(reify(parent_class, hash)) if hash end
Private Instance Methods
reify(parent_class, obj)
click to toggle source
# File lib/dsl/input_output_common/hash.rb, line 28 def reify(parent_class, obj) if obj.kind_of?(self.class) obj elsif obj.kind_of?(::Hash) obj.inject(self.class.new(parent_class)) { |h, (k, v)| h.merge(k => reify(parent_class, v)) } elsif obj.kind_of?(::Array) parent_class::Array.new(parent_class, obj) else obj end end