Class: Mayu::Utils::DeepFreezer
- Inherits:
-
Object
- Object
- Mayu::Utils::DeepFreezer
- Extended by:
- T::Generic, T::Sig
- Defined in:
- lib/mayu/utils.rb
Constant Summary collapse
- Elem =
type_member { { upper: Object } }
Instance Method Summary collapse
- #deep_freeze ⇒ Object
-
#initialize(obj) ⇒ DeepFreezer
constructor
A new instance of DeepFreezer.
Constructor Details
#initialize(obj) ⇒ DeepFreezer
Returns a new instance of DeepFreezer.
48 |
# File 'lib/mayu/utils.rb', line 48 def initialize(obj) = @obj = obj |
Instance Method Details
#deep_freeze ⇒ Object
51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
# File 'lib/mayu/utils.rb', line 51 def deep_freeze case @obj when Hash @obj.freeze T.cast( @obj .transform_keys { Utils.deep_freeze(_1) } .transform_values { Utils.deep_freeze(_1) }, Elem ) when Array T.cast(@obj.map(&:freeze), Elem) else @obj.freeze end end |