Class: DeepOpenStruct

Inherits:
OpenStruct
  • Object
show all
Defined in:
lib/deep_open_struct.rb,
lib/deep_open_struct/version.rb,
lib/deep_open_struct/key_access.rb

Overview

Converts the nested hashes to open structs too

Direct Known Subclasses

DeepOpenStructWithKeyAccess

Defined Under Namespace

Modules: KeyAccess

Constant Summary collapse

VERSION =
'0.1.0'

Instance Method Summary collapse

Constructor Details

#initialize(hash) ⇒ DeepOpenStruct

Returns a new instance of DeepOpenStruct.



8
9
10
# File 'lib/deep_open_struct.rb', line 8

def initialize(hash)
  super(hash.each_with_object({}) { |(k, v), h| h[k] = v.is_a?(Hash) ? self.class.new(v) : v })
end