Class: Collapsium::UberHash

Inherits:
Hash
  • Object
show all
Includes:
PathedAccess, PrototypeMatch, RecursiveDup, RecursiveMerge, RecursiveSort
Defined in:
lib/collapsium/uber_hash.rb

Overview

A Hash that includes all the different Hash extensions in collapsium

Constant Summary

Constants included from PathedAccess

PathedAccess::DEFAULT_SEPARATOR, PathedAccess::READ_METHODS, PathedAccess::WRITE_METHODS

Instance Method Summary collapse

Methods included from PrototypeMatch

#prototype_match

Methods included from PathedAccess

#separator, #split_pattern

Methods included from RecursiveSort

#recursive_sort, #recursive_sort!

Methods included from RecursiveDup

#recursive_dup

Methods included from RecursiveMerge

#recursive_merge, #recursive_merge!

Constructor Details

#initialize(*args) ⇒ UberHash

Returns a new instance of UberHash.



27
28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/collapsium/uber_hash.rb', line 27

def initialize(*args)
  super

  # Activate IndifferentAccess
  self.default_proc = IndifferentAccess::DEFAULT_PROC

  # Extra functionality: allow being initialized by a Hash
  if args.empty? or not args[0].is_a?(Hash)
    return
  end

  merge!(args[0])
end