module Dsc::Mash

Constants

DEFAULT_PROC

Public Class Methods

new(source) click to toggle source
# File lib/dsc/mash.rb, line 9
def new(source)
  Hashie::Mash.new(source).tap do |hash|
    recursively_freeze(hash)
  end
end

Private Class Methods

recursively_freeze(object) click to toggle source
# File lib/dsc/mash.rb, line 17
def recursively_freeze(object)
  case object
    when Array
      object.each { |obj| recursively_freeze(obj) }
    when Hash
      object.default_proc = DEFAULT_PROC
      recursively_freeze(object.values)
  end
end