Class: I18n::Tasks::Scanners::ScannerMultiplexer

Inherits:
Scanner
  • Object
show all
Defined in:
lib/i18n/tasks/scanners/scanner_multiplexer.rb

Overview

Run multiple Scanners and merge their results.

Instance Method Summary collapse

Constructor Details

#initialize(scanners:) ⇒ ScannerMultiplexer

Returns a new instance of ScannerMultiplexer.

Parameters:



9
10
11
12
# File 'lib/i18n/tasks/scanners/scanner_multiplexer.rb', line 9

def initialize(scanners:)
  super()
  @scanners = scanners
end

Instance Method Details

#keysArray<Results::KeyOccurrences>

Collect the results of all the scanners. Occurrences of a key from multiple scanners are merged.

Returns:



17
18
19
20
# File 'lib/i18n/tasks/scanners/scanner_multiplexer.rb', line 17

def keys
  results = @scanners.map(&:keys)
  Results::KeyOccurrences.merge_keys results.flatten(1)
end