Class: IceNine::Freezer::Hash

Inherits:
Object show all
Defined in:
lib/ice_nine/freezer/hash.rb,
lib/ice_nine/freezer/hash/state.rb

Overview

A freezer class for handling Hash objects

Defined Under Namespace

Classes: State

Constant Summary

Constants inherited from IceNine::Freezer

BasicObject, SKIP_ANCESTORS

Class Method Summary collapse

Methods inherited from IceNine::Freezer

[], const_lookup

Class Method Details

.deep_freeze(hash) ⇒ Hash

Deep Freeze a Hash

Examples:

hash = IceNine::Freezer::Hash.deep_freeze('a' => '1', 'b' => '2')
hash.keys.select(&:frozen?)    # => ['a', 'b']
hash.values.select(&:frozen?)  # => ['1', '2']

Parameters:

Returns:



21
22
23
24
25
26
# File 'lib/ice_nine/freezer/hash.rb', line 21

def self.deep_freeze(hash)
  super hash.each { |key, value|
    IceNine.deep_freeze(key)
    IceNine.deep_freeze(value)
  }
end