Class: Hash
- Inherits:
-
Object
- Object
- Hash
- Defined in:
- lib/fantasy_football_nerd/util.rb
Instance Method Summary collapse
- #add_snakecase_keys ⇒ Object
- #change_key(source, target) ⇒ Object
- #change_keys(key_hash) ⇒ Object
- #change_keys_to_ints ⇒ Object
- #change_string_values_to_floats ⇒ Object
Instance Method Details
#add_snakecase_keys ⇒ Object
3 4 5 6 7 8 9 10 |
# File 'lib/fantasy_football_nerd/util.rb', line 3 def add_snakecase_keys new_hash = {} self.each do |k,v| v.add_snakecase_keys if v.is_a? Hash new_hash[k.snakecase] = v end self.merge!(new_hash) end |
#change_key(source, target) ⇒ Object
12 13 14 15 16 17 |
# File 'lib/fantasy_football_nerd/util.rb', line 12 def change_key(source, target) unless self[source].nil? self[target] = self[source] self.delete(source) end end |
#change_keys(key_hash) ⇒ Object
28 29 30 |
# File 'lib/fantasy_football_nerd/util.rb', line 28 def change_keys(key_hash) key_hash.each { |k,v| self.change_key(k,v) } end |
#change_keys_to_ints ⇒ Object
19 20 21 22 23 24 25 26 |
# File 'lib/fantasy_football_nerd/util.rb', line 19 def change_keys_to_ints keys = self.keys keys.each do |k| self[k].change_keys_to_ints if self[k].is_a? Hash self.change_key(k, k.to_i) unless k.match(/[a-z]/) end self end |
#change_string_values_to_floats ⇒ Object
32 33 34 35 36 |
# File 'lib/fantasy_football_nerd/util.rb', line 32 def change_string_values_to_floats self.each do |k,v| self[k] = ((float = Float(v)) && (float % 1.0 == 0) ? float.to_i : float) rescue v end end |