hash = {cool_peaople: 10, bananas: 30, shoes: 20, red: 14} array = hash.values.sort.reverse #returns: # 30 # 20 # 14 # 10 ordered_tuples = Array.new array.each do |value| ordered_tuples << {"#{hash.key(value)}" => "#{value }"} end puts ordered_tuples #returns: # {"bananas"=>"30"} # {"shoes"=>"20"} # {"red"=>"14"} # {"cool_peaople"=>"10"}