Module IceNine
In: lib/ice_nine.rb
lib/ice_nine/freezer/struct.rb
lib/ice_nine/freezer/rubinius.rb
lib/ice_nine/freezer/range.rb
lib/ice_nine/freezer/array.rb
lib/ice_nine/freezer/module.rb
lib/ice_nine/freezer/no_freeze.rb
lib/ice_nine/freezer/symbol.rb
lib/ice_nine/freezer/hash.rb
lib/ice_nine/freezer/hash/state.rb
lib/ice_nine/freezer/false_class.rb
lib/ice_nine/freezer/true_class.rb
lib/ice_nine/freezer/object.rb
lib/ice_nine/freezer/numeric.rb
lib/ice_nine/freezer/nil_class.rb
lib/ice_nine/freezer.rb
lib/ice_nine/core_ext/object.rb
lib/ice_nine/version.rb
lib/ice_nine/support/recursion_guard.rb

encoding: utf-8

Methods

Classes and Modules

Module IceNine::CoreExt
Class IceNine::Freezer
Class IceNine::RecursionGuard

Constants

VERSION = '0.11.2'.freeze   Gem version

Public Class methods

Deep Freeze an object

@example

  object = IceNine.deep_freeze(object)

@param [Object] object

@return [Object]

@api public

Deep Freeze an object

This method uses a faster algorithm that will assume objects that are `frozen?` do not need to be frozen deeply. Use this method when `object` contains no shallowly frozen objects that need deep freezing.

@example

  IceNine.deep_freeze!(['a', 'b']).map(&:frozen?) # [true, true]

@example

  IceNine.deep_freeze!(['a', 'b'].freeze).map(&:frozen?) # [false, false]

@param [Object] object

@return [Object]

@api public

[Validate]