Class: Hash

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

Instance Method Summary collapse

Instance Method Details

#flat_each(prefix = [], &blk) ⇒ Object



17
18
19
20
21
22
23
24
25
# File 'lib/dgaff/hash.rb', line 17

def flat_each(prefix=[], &blk)
  each do |k,v|
    if v.is_a?(Hash)
      v.flat_each(prefix+[k], &blk)
    else
      yield prefix+[k], v
    end
  end
end

#flatifyObject



27
28
29
30
31
# File 'lib/dgaff/hash.rb', line 27

def flatify
  hh = {}
  self.to_enum(:flat_each).collect { |k,v| [k.join("-"),v] }.collect {|attrib| hh[attrib[0]] = attrib[1]}
  return hh
end

#get(key) ⇒ Object



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

def get(key)
  self[key.to_s]||self[key.to_sym]
end

#highestObject



33
34
35
36
# File 'lib/dgaff/hash.rb', line 33

def highest
  high_pair = self.max {|a,b| a[1] <=> b[1]}
  return {high_pair[0] => high_pair[1]}
end

#lowestObject



38
39
40
41
# File 'lib/dgaff/hash.rb', line 38

def lowest
  low_pair = self.min {|a,b| a[1] <=> b[1]}
  return {low_pair[0] => low_pair[1]}
end

#set(key, value) ⇒ Object



6
7
8
9
10
11
12
13
14
15
# File 'lib/dgaff/hash.rb', line 6

def set(key, value)
  if self[key.to_s]
    self[key.to_s] = value
  elsif self[key.to_sym]
    self[key.to_sym] = value
  else
    self[key.to_sym] = value
  end
  self
end