Module: CemAcpt::CoreExtensions::DeepFreeze::OpenStruct

Defined in:
lib/cem_acpt/core_extensions.rb

Overview

Holds deep_freeze extensions to OpenStruct

Instance Method Summary collapse

Instance Method Details

#deep_freezeObject



47
48
49
50
51
52
53
54
55
56
# File 'lib/cem_acpt/core_extensions.rb', line 47

def deep_freeze
  return if deep_frozen?

  @table.reduce({}) do |h, (key, value)|
    fkey = key.respond_to?(:deep_freeze) ? key.deep_freeze : key
    fval = value.respond_to?(:deep_freeze) ? value.deep_freeze : value
    h.merge(fkey => fval)
  end.freeze
  @deep_frozen = true
end

#deep_frozen?Boolean

Returns:

  • (Boolean)


58
59
60
# File 'lib/cem_acpt/core_extensions.rb', line 58

def deep_frozen?
  !!@deep_frozen
end