Module: HEITT::Grouper

Defined in:
lib/heitt/grouper.rb

Class Method Summary collapse

Class Method Details

.group(results) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/heitt/grouper.rb', line 5

def self.group(results)
  clusters = {}

  clusters = results.group_by {|r| r[:candidates].first[:name]}
  groups = clusters.each_with_index.map do |(name, group), index|
    hashes = group.map {|r| r[:hash]}
    {
      cluster_id: index+1,
      hashes: hashes,
      candidates: group.first[:candidates],
      count: hashes.size
    }
  end
  HEITT::Logger.debug("Hashes grouped successfully") unless groups.empty? || groups.nil?
  groups
end