class Ruumba::Correctors::StdinCorrector
Corrector for when the checked file was passed through stdin.
Attributes
digestor[R]
parser[R]
Public Class Methods
new(digestor, parser)
click to toggle source
# File lib/ruumba/correctors.rb, line 25 def initialize(digestor, parser) @digestor = digestor @parser = parser end
Public Instance Methods
correct(stdout, stderr, file_mappings)
click to toggle source
# 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