module IceNine

Base IceNine module

Constants

VERSION

Unreleased gem version

Public Class Methods

deep_freeze(object, recursion_guard = RecursionGuard.new) click to toggle source

Deep Freeze an object

@example

object = IceNine.deep_freeze(object)

@param [Object] object @param [RecursionGuard] recursion_guard

@return [Object]

@api public

# File lib/ice_nine.rb, line 39
def self.deep_freeze(object, recursion_guard = RecursionGuard.new)
  return object if object.frozen?
  recursion_guard.guard(object.__id__) do
    Freezer[object.class].deep_freeze(object, recursion_guard)
  end
end