Class: Hash

Inherits:
Object
  • Object
show all
Defined in:
lib/spectra/extensions.rb

Instance Method Summary collapse

Instance Method Details

#deep_merge(hash) ⇒ Object



16
17
18
19
20
21
22
23
24
25
26
# File 'lib/spectra/extensions.rb', line 16

def deep_merge(hash)
  worker = proc do |key, source, update|
    if source.is_a?(Hash) && update.is_a?(Hash)
      source.merge(update, &worker)
    else
      update
    end
  end

  self.merge(hash, &worker)
end

#pick(*keys) ⇒ Object



12
13
14
# File 'lib/spectra/extensions.rb', line 12

def pick(*keys)
  self.select { |key, value| keys.include?(key) }
end