module CodeCode::Common::Utils::Hash
Utility methods for Hash
manipulation
Public Instance Methods
except(hash, key)
click to toggle source
Removes a key from the hash and return the modified hash
@param [Hash] hash @param [Symbol] key @return [Hash] The given hash without the removed key
# File lib/codecode/common/utils.rb, line 80 def except(hash, key) hash.delete(key) end
recursive_key_symbolizer(object)
click to toggle source
# File lib/codecode/common/utils.rb, line 67 def recursive_key_symbolizer(object) if object.class.eql? ::Array symbolize_keys_of_hashs object elsif object.class.eql? ::Hash symbolize_keys object end end
recursive_key_symbolizer!(object)
click to toggle source
# File lib/codecode/common/utils.rb, line 59 def recursive_key_symbolizer!(object) if object.class.eql? ::Array symbolize_keys_of_hashs! object elsif object.class.eql? ::Hash symbolize_keys! object end end
select(hash, keys)
click to toggle source
Return a new hash only with the specified keys
@param [Hash] hash @param [Array] keys @return [Hash]
# File lib/codecode/common/utils.rb, line 89 def select(hash, keys) hash.select { |k, v| keys.include?(k) } end
symbolize_keys(hash)
click to toggle source
Convert Hash
string keys to symbol keys
@param [Hash] hash @return [Hash] The resulting hash with symbolized keys
# File lib/codecode/common/utils.rb, line 16 def symbolize_keys(hash) hash.inject({}){ |memo, (k, v)| memo[k.to_sym] = v if v.class.eql? ::Hash memo[k.to_sym] = symbolize_keys v elsif v.class.eql? ::Array memo[k.to_sym] = symbolize_keys_of_hashs v end memo } end
symbolize_keys!(hash)
click to toggle source
BANG! Convert Hash
string keys to symbol keys
@param [Hash] hash @return [Hash] The resulting hash with symbolized keys
# File lib/codecode/common/utils.rb, line 32 def symbolize_keys!(hash) new_hash = hash.inject({}){ |memo, (k, v)| memo[k.to_sym] = v if v.class.eql? ::Hash memo[k.to_sym] = symbolize_keys! v elsif v.class.eql? ::Array memo[k.to_sym] = symbolize_keys_of_hashs! v end memo } hash.replace new_hash end
symbolize_keys_of_hashs(array_of_hashs)
click to toggle source
symbolize_keys_of_hashs!(array_of_hashs)
click to toggle source