Class: AsciiDataTools::Controller::EditController
- Inherits:
-
AbstractController
- Object
- AbstractController
- AsciiDataTools::Controller::EditController
- Includes:
- ExternalPrograms, Filter
- 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
50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
# File 'lib/ascii-data-tools/controller.rb', line 50 def run editor = Editor.new(&@configuration.editor) formatting_filter = FormattingFilter.new(input_source.filename, type_determiner) formatting_filter << input_source formatting_filter.write(editor[0]) editor.edit if not editor.changed?(0) @configuration.user_feedback_stream.puts "The file is unmodified." else encoding_filter = Filter::Filter.new {|record| record.encode } parsing_filter = ParsingFilter.new(@configuration.record_types) encoding_filter << (parsing_filter << InputSource.new(nil, editor[0].open)) encoding_filter.write(output_stream) end end |