Class: Hash

Inherits:
Object
  • Object
show all
Defined in:
lib/fantasy_football_nerd/util.rb

Instance Method Summary collapse

Instance Method Details

#add_snakecase_keysObject



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_intsObject



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_floatsObject



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