Module: IceNine
- Defined in:
- lib/ice_nine.rb,
lib/ice_nine/freezer.rb,
lib/ice_nine/version.rb,
lib/ice_nine/freezer/hash.rb,
lib/ice_nine/freezer/array.rb,
lib/ice_nine/freezer/range.rb,
lib/ice_nine/freezer/object.rb,
lib/ice_nine/freezer/struct.rb,
lib/ice_nine/freezer/symbol.rb,
lib/ice_nine/core_ext/object.rb,
lib/ice_nine/freezer/numeric.rb,
lib/ice_nine/freezer/rubinius.rb,
lib/ice_nine/freezer/nil_class.rb,
lib/ice_nine/freezer/no_freeze.rb,
lib/ice_nine/freezer/hash/state.rb,
lib/ice_nine/freezer/true_class.rb,
lib/ice_nine/freezer/false_class.rb,
lib/ice_nine/support/recursion_guard.rb
Overview
Base IceNine module
Defined Under Namespace
Modules: CoreExt, RecursionGuard Classes: Freezer
Constant Summary collapse
- VERSION =
Current gem version
'0.7.0'
Class Method Summary collapse
-
.deep_freeze(object) ⇒ Object
Deep Freeze an object.
Class Method Details
.deep_freeze(object) ⇒ Object
Deep Freeze an object
38 39 40 41 42 43 |
# File 'lib/ice_nine.rb', line 38 def self.deep_freeze(object) return object if object.frozen? RecursionGuard.guard(object.object_id) do Freezer[object.class].deep_freeze(object) end end |