Class: NamedHash

Inherits:
Hash
  • Object
show all
Defined in:
lib/named_hash.rb

Defined Under Namespace

Classes: InvalidKeyError

Instance Method Summary collapse

Constructor Details

#initialize(hash = nil) ⇒ NamedHash

Returns a new instance of NamedHash.



4
5
6
7
8
9
# File 'lib/named_hash.rb', line 4

def initialize(hash = nil)
  super()
  if hash
    merge(hash)
  end
end

Instance Method Details

#get(key) ⇒ Object Also known as: []



22
23
24
# File 'lib/named_hash.rb', line 22

def get(key)
  native_get(key.to_s)
end

#merge(hash) ⇒ Object



29
30
31
32
33
# File 'lib/named_hash.rb', line 29

def merge(hash)
  hash.each do |key, value|
    set(key, value)
  end
end

#set(key, value) ⇒ Object Also known as: []=



11
12
13
14
15
16
17
# File 'lib/named_hash.rb', line 11

def set(key, value)
  check_key_type(key)
  if value.is_a?(Hash) && !value.is_a?(NamedHash)
    value = NamedHash.new(value)
  end
  native_set(key.to_s, value)
end

#to_named_hashObject Also known as: ~



35
36
37
# File 'lib/named_hash.rb', line 35

def to_named_hash
  self
end