class Utilise::Augment::Crash::Bash

Creates a hashie mash that raises an error when a key is not present

Constants

DEFAULT_PROC

The default proc to be used for the bash hash

Public Class Methods

new(source_hash = nil, default = nil, &blk) click to toggle source
Calls superclass method
# File lib/utilise/augment/crash.rb, line 14
def initialize(source_hash = nil, default = nil, &blk)
  default ? super(source_hash, default) : super(source_hash, &blk)
  recursively_freeze(self)
end

Public Instance Methods

recursively_freeze(obj) click to toggle source

recursively apply the default proc to all hashes

# File lib/utilise/augment/crash.rb, line 20
def recursively_freeze(obj)
  case obj
  when Array
    obj.each { |o| recursively_freeze(o) }
  when Hash
    obj.default_proc = DEFAULT_PROC
    recursively_freeze(obj.values)
  end
end