Class: RubyMaat::Groupers::LayerGrouper

Inherits:
Object
  • Object
show all
Defined in:
lib/ruby_maat/groupers/layer_grouper.rb

Overview

Layer grouper - maps individual files to architectural layers using regex patterns

Instance Method Summary collapse

Constructor Details

#initialize(grouping_file) ⇒ LayerGrouper

Returns a new instance of LayerGrouper.



7
8
9
10
# File 'lib/ruby_maat/groupers/layer_grouper.rb', line 7

def initialize(grouping_file)
  @grouping_file = grouping_file
  @patterns = load_grouping_patterns
end

Instance Method Details

#group(change_records) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/ruby_maat/groupers/layer_grouper.rb', line 12

def group(change_records)
  change_records.map do |record|
    new_entity = map_entity_to_layer(record.entity)

    # Create new record with mapped entity name
    ChangeRecord.new(
      entity: new_entity,
      author: record.author,
      date: record.date,
      revision: record.revision,
      message: record.message,
      loc_added: record.loc_added,
      loc_deleted: record.loc_deleted
    )
  end
end