Class: Hash

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

Instance Method Summary collapse

Instance Method Details

#flatten_single_element_array_valuesObject

converting xml into a hash sometimes gives you things like: { ‘element’ => [‘just_one_value’] } this method converts this to the more useful { ‘element’ => ‘just_one_value’ }



10
11
12
13
14
# File 'lib/freesound/core_ext/hash.rb', line 10

def flatten_single_element_array_values
  Hash[ map do |k, v|
    [k, (v.is_a?(Array) && v.size == 1) ? v[0] : (v.flatten_single_element_array_values rescue v)]
  end ]
end

#numberize_valuesObject



21
22
23
# File 'lib/freesound/core_ext/hash.rb', line 21

def numberize_values
  Hash[ map { |k, v| [k, ((v.numberizeable? rescue false) ? v.numberize : v)] } ]
end

#symbolize_keysObject



2
3
4
# File 'lib/freesound/core_ext/hash.rb', line 2

def symbolize_keys
  Hash[ map { |k, v| [k.underscore.to_sym, v.is_a?(Hash) ? v.symbolize_keys : v] } ]
end

#to_uriObject

convert to a uri string



17
18
19
# File 'lib/freesound/core_ext/hash.rb', line 17

def to_uri
  map { |k, v| "#{k}=#{v}" }.join("&")
end