Class: Hash
Instance Method Summary
collapse
#assoc, #associate, #destruct, #into, #map?, #update, #update_each
#<<, #>>, #arity, #block, #comp, #complement, #fnil, #partial, #rpartial, #to_proc
Instance Method Details
#as_map ⇒ Object
Also known as:
~
20
21
22
|
# File 'lib/rupture/hash_map.rb', line 20
def as_map
F.hash_map(self)
end
|
#assoc!(*vals) ⇒ Object
25
26
27
28
29
30
|
# File 'lib/rupture/hash_map.rb', line 25
def assoc!(*vals)
vals.each_slice(2) do |k,v|
self[k] = v
end
self
end
|
#deep_symbolize_keys ⇒ Object
20
21
22
23
24
25
26
|
# File 'lib/rupture/rails_ext.rb', line 20
def deep_symbolize_keys
copy = symbolize_keys
copy.each do |key, val|
copy[key] = val.deep_symbolize_keys if val.is_a?(Hash)
end
copy
end
|
#deep_symbolize_keys! ⇒ Object
13
14
15
16
17
18
|
# File 'lib/rupture/rails_ext.rb', line 13
def deep_symbolize_keys!
values.each do |val|
val.deep_symbolize_keys! if val.is_a?(Hash)
end
symbolize_keys!
end
|
#stringify_keys ⇒ Object
35
36
37
|
# File 'lib/rupture/rails_ext.rb', line 35
def stringify_keys
dup.stringify_keys!
end
|
#stringify_keys! ⇒ Object
28
29
30
31
32
33
|
# File 'lib/rupture/rails_ext.rb', line 28
def stringify_keys!
keys.each do |key|
self[key.to_s] = delete(key)
end
self
end
|
#symbolize_keys ⇒ Object
9
10
11
|
# File 'lib/rupture/rails_ext.rb', line 9
def symbolize_keys
dup.symbolize_keys!
end
|
#symbolize_keys! ⇒ Object
2
3
4
5
6
7
|
# File 'lib/rupture/rails_ext.rb', line 2
def symbolize_keys!
keys.each do |key|
self[(key.to_sym rescue key) || key] = delete(key)
end
self
end
|
#update!(key, fn = nil, *args, &block) ⇒ Object
32
33
34
35
36
37
38
39
|
# File 'lib/rupture/hash_map.rb', line 32
def update!(key, fn = nil, *args, &block)
self[key] = if fn
fn.call(self[key], *args, &block)
else
yield(self[key])
end
self
end
|
#update_each!(keys, *args, &block) ⇒ Object
41
42
43
44
45
46
|
# File 'lib/rupture/hash_map.rb', line 41
def update_each!(keys, *args, &block)
keys.each do |key|
update!(key, *args, &block)
end
self
end
|