Class: AsciiDataTools::Controller::QDiffController
- Inherits:
-
AbstractController
- Object
- AbstractController
- AsciiDataTools::Controller::QDiffController
- Includes:
- ExternalPrograms, Filter, Filter::Diffing
- Defined in:
- lib/ascii-data-tools/controller.rb
Instance Method Summary collapse
Methods included from ExternalPrograms
#diff, #diff_command_for, #edit_differences, #modify_file_mtime_to, #sort
Methods inherited from AbstractController
Constructor Details
This class inherits a constructor from AsciiDataTools::Controller::AbstractController
Instance Method Details
#run ⇒ Object
93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 |
# File 'lib/ascii-data-tools/controller.rb', line 93 def run editor = Editor.new(&@configuration.editor) normaliser1 = NormalisingFilter.new( @configuration.input_sources[0].filename, type_determiner) normaliser2 = NormalisingFilter.new( @configuration.input_sources[1].filename, type_determiner) sorter1 = SortingFilter.new sorter2 = SortingFilter.new diff_executer = DiffExecutingFilter.new diff_parser = DiffParsingFilter.new diff_formatter = DiffFormattingFilter.new(type_determiner) diff_formatter << (diff_parser << (diff_executer << [sorter1 << (normaliser1 << @configuration.input_sources[0]), sorter2 << (normaliser2 << @configuration.input_sources[1])])) begin diff_formatter.write(editor[0], editor[1]) editor.edit rescue StreamsEqualException => e @configuration.user_feedback_stream.puts "The files are identical." end end |