Class: Crystalball::MapCompactor::ExampleGroupsDataCompactor

Inherits:
Object
  • Object
show all
Defined in:
lib/crystalball/map_compactor/example_groups_data_compactor.rb

Overview

Class representing example groups data compacting logic for a single file

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.compact!(plain_data) ⇒ Object

Parameters:

  • plain_data (Hash)

    a hash of examples and used files



10
11
12
# File 'lib/crystalball/map_compactor/example_groups_data_compactor.rb', line 10

def self.compact!(plain_data)
  new(plain_data).compact!
end

Instance Method Details

#compact!Object



14
15
16
17
18
19
20
21
# File 'lib/crystalball/map_compactor/example_groups_data_compactor.rb', line 14

def compact!
  contexts = extract_contexts(plain_data.keys).sort_by(&:depth)

  contexts.each do |context|
    compact_data[context.address] = compact_context!(context)
  end
  compact_data
end