Class: Ruumba::Correctors::StdinCorrector
- Inherits:
-
Object
- Object
- Ruumba::Correctors::StdinCorrector
- Includes:
- Replacer
- Defined in:
- lib/ruumba/correctors.rb
Overview
Corrector for when the checked file was passed through stdin.
Instance Method Summary collapse
- #correct(stdout, stderr, file_mappings) ⇒ Object
-
#initialize(digestor, parser) ⇒ StdinCorrector
constructor
A new instance of StdinCorrector.
Methods included from Replacer
Constructor Details
#initialize(digestor, parser) ⇒ StdinCorrector
Returns a new instance of StdinCorrector.
25 26 27 28 |
# File 'lib/ruumba/correctors.rb', line 25 def initialize(digestor, parser) @digestor = digestor @parser = parser end |
Instance Method Details
#correct(stdout, stderr, file_mappings) ⇒ Object
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/ruumba/correctors.rb', line 30 def correct(stdout, stderr, file_mappings) _, old_ruumba_digest, original_contents = *file_mappings.values.first [stdout, stderr].each do |output| next if output.nil? || output.empty? matches = output.scan(/\A(.*====================)?$(.*)\z/m) next if matches.empty? prefix, new_contents = *matches.first handle_corrected_output(old_ruumba_digest, new_contents, original_contents) do |corrected_output| output.clear output.concat("#{prefix}\n#{corrected_output}") end end end |