Class: Collapsium::UberHash

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

Overview

A Hash that includes all the different Hash extensions in collapsium

Constant Summary

Constants included from Support::HashMethods

Support::HashMethods::KEYED_READ_METHODS, Support::HashMethods::KEYED_WRITE_METHODS, Support::HashMethods::READ_METHODS, Support::HashMethods::WRITE_METHODS

Constants included from PrototypeMatch

PrototypeMatch::FAILURE

Constants included from ViralCapabilities

ViralCapabilities::DEFAULT_ANCESTORS, ViralCapabilities::ENHANCED_MARKER, ViralCapabilities::READ_METHODS, ViralCapabilities::WRITE_METHODS

Constants included from Support::Methods

Support::Methods::BUILTINS, Support::Methods::WRAPPER_HASH

Constants included from PathedAccess

PathedAccess::PATHED_ACCESS_READER, PathedAccess::PATHED_ACCESS_WRITER, PathedAccess::READ_METHODS, PathedAccess::WRITE_METHODS

Constants included from Support::PathComponents

Support::PathComponents::DEFAULT_SEPARATOR

Constants included from IndifferentAccess

IndifferentAccess::INDIFFERENT_ACCESS, IndifferentAccess::METHODS

Instance Attribute Summary

Attributes included from Support::PathComponents

#separator

Instance Method Summary collapse

Methods included from PrototypeMatch

#prototype_match, #prototype_match_score

Methods included from RecursiveFetch

#recursive_fetch_all, #recursive_fetch_one

Methods included from ViralCapabilities

call_virality, copy_mods, enhance, enhance_array_value, enhance_hash_value, enhance_value, #extended, extended, #included, included, prepended, #prepended, set_ancestors

Methods included from Support::Methods

builtins, loop_detected?, repeated, #resolve_helpers, #wrap_method, wrappers

Methods included from RecursiveSort

#recursive_sort, #recursive_sort!

Methods included from RecursiveDup

#recursive_dup

Methods included from RecursiveMerge

merged_keys, merger, #recursive_merge, #recursive_merge!

Methods included from PathedAccess

create_proc, enhance, extended, included, prepended, recursive_fetch, #virality

Methods included from Support::PathComponents

#filter_components, #join_path, #normalize_path, #parent_path, #path_components, #path_prefix, #path_prefix=, #split_pattern

Methods included from IndifferentAccess

enhance, extended, included, key_permutations, prepended, sorted_keys, unique_keys

Constructor Details

#initialize(*args) ⇒ UberHash

Returns a new instance of UberHash.



44
45
46
47
48
49
50
51
52
53
# File 'lib/collapsium/uber_hash.rb', line 44

def initialize(*args)
  super

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

  recursive_merge!(args[0])
end