Class: Hashira::Duplication::Maximal

Inherits:
Object
  • Object
show all
Defined in:
lib/hashira/duplication/maximal.rb

Instance Method Summary collapse

Constructor Details

#initialize(clusters) ⇒ Maximal

Returns a new instance of Maximal.



6
7
8
# File 'lib/hashira/duplication/maximal.rb', line 6

def initialize(clusters)
  @clusters = clusters
end

Instance Method Details

#reducedObject



10
11
12
13
14
# File 'lib/hashira/duplication/maximal.rb', line 10

def reduced
  @clusters.sort_by { -it.mass }.each_with_object([]) do |cluster, kept|
    kept << cluster unless shadowed_by?(cluster, kept.flat_map(&:sites))
  end
end