Class: Hash
Instance Method Summary collapse
Instance Method Details
#minvert ⇒ Object
48 49 50 51 52 53 54 55 56 57 58 59 |
# File 'lib/dep_analyzer.rb', line 48 def minvert r = Hash.new { |h,k| h[k] = [] } invert.each do |keys, val| keys.each do |key| r[key] << val end end r.each do |k,v| r[k] = v.sort end r end |
#t(k) ⇒ Object
69 70 71 72 73 74 75 |
# File 'lib/dep_analyzer.rb', line 69 def t(k) r = Set.new self[k].each do |v| r.push(v, *t(v)) end r.to_a.sort end |
#transitive ⇒ Object
61 62 63 64 65 66 67 |
# File 'lib/dep_analyzer.rb', line 61 def transitive r = Hash.new { |h,k| h[k] = [] } each do |k,v| r[k].push(*t(k)) end r end |
#tsort_each_child(node, &block) ⇒ Object
44 45 46 |
# File 'lib/dep_analyzer.rb', line 44 def tsort_each_child(node, &block) fetch(node).each(&block) end |