Module: Avski::Common::Utils::Hash
- Defined in:
- lib/avski/common/utils.rb
Overview
Utility methods for Hash manipulation
Class Method Summary collapse
-
.except(hash, key) ⇒ Hash
Removes a key from the hash and return the modified hash.
-
.select(hash, keys) ⇒ Hash
Return a new hash only with the specified keys.
-
.symbolize_keys(hash) ⇒ Hash
Convert Hash string keys to symbol keys.
-
.symbolize_keys!(hash) ⇒ Hash
BANG! Convert Hash string keys to symbol keys.
Class Method Details
.except(hash, key) ⇒ Hash
Removes a key from the hash and return the modified hash
43 44 45 |
# File 'lib/avski/common/utils.rb', line 43 def self.except(hash, key) hash.delete(key) end |
.select(hash, keys) ⇒ Hash
Return a new hash only with the specified keys
52 53 54 |
# File 'lib/avski/common/utils.rb', line 52 def self.select(hash, keys) hash.select { |k, v| keys.include?(k) } end |
.symbolize_keys(hash) ⇒ Hash
Convert Hash string keys to symbol keys
17 18 19 20 21 22 23 |
# File 'lib/avski/common/utils.rb', line 17 def self.symbolize_keys(hash) hash.inject({}){ |memo, (k, v)| memo[k.to_sym] = v memo[k.to_sym] = symbolize_keys v if v.class.eql? ::Hash memo } end |
.symbolize_keys!(hash) ⇒ Hash
BANG! Convert Hash string keys to symbol keys
29 30 31 32 33 34 35 36 |
# File 'lib/avski/common/utils.rb', line 29 def self.symbolize_keys!(hash) new_hash = hash.inject({}){ |memo, (k, v)| memo[k.to_sym] = v memo[k.to_sym] = symbolize_keys v if v.class.eql? ::Hash memo } hash.replace new_hash end |