Method: Gitlab::ObjectifiedHash#initialize

Defined in:
lib/gitlab/objectified_hash.rb

#initialize(hash) ⇒ ObjectifiedHash

Creates a new ObjectifiedHash object.



7
8
9
10
11
12
13
14
# File 'lib/gitlab/objectified_hash.rb', line 7

def initialize(hash)
  @hash = hash
  @data = hash.each_with_object({}) do |(key, value), data|
    value = self.class.new(value) if value.is_a? Hash
    value = value.map { |v| v.is_a?(Hash) ? self.class.new(v) : v } if value.is_a? Array
    data[key.to_s] = value
  end
end