Class: Hash

Inherits:
Object
  • Object
show all
Defined in:
lib/trellohub/core_ext/hash.rb

Instance Method Summary collapse

Instance Method Details

#extract(*keys) ⇒ Object



8
9
10
11
12
# File 'lib/trellohub/core_ext/hash.rb', line 8

def extract(*keys)
  self.each_with_object(self.class.new) { |(k, v), hash|
    hash[k] = v unless keys.include?(k)
  }
end

#slice(*keys) ⇒ Object



2
3
4
5
6
# File 'lib/trellohub/core_ext/hash.rb', line 2

def slice(*keys)
  keys.each_with_object(self.class.new) { |k, hash|
    hash[k] = self[k] if has_key?(k)
  }
end

#stringify_keysObject



21
22
23
24
25
26
# File 'lib/trellohub/core_ext/hash.rb', line 21

def stringify_keys
  self.each_with_object(self.class.new) { |(k, v), hash|
    v = v.stringify_keys if v.is_a?(self.class)
    hash["#{k}"] = v
  }
end

#symbolize_keysObject



14
15
16
17
18
19
# File 'lib/trellohub/core_ext/hash.rb', line 14

def symbolize_keys
  self.each_with_object(self.class.new) { |(k, v), hash|
    v = v.symbolize_keys if v.class.name == self.class.name
    hash[:"#{k}"] = v
  }
end