Class: Filegen::Runner
- Inherits:
-
Object
- Object
- Filegen::Runner
- Defined in:
- lib/filegen/runner.rb
Overview
Commandline from end
Instance Method Summary collapse
-
#execute! ⇒ Object
Execute runner.
-
#initialize(argv, stdin = $stdin, stdout = $stdout, stderr = $stderr, kernel = Kernel) ⇒ Runner
constructor
Create runner.
Constructor Details
#initialize(argv, stdin = $stdin, stdout = $stdout, stderr = $stderr, kernel = Kernel) ⇒ Runner
Create runner
22 23 24 |
# File 'lib/filegen/runner.rb', line 22 def initialize(argv, stdin = $stdin, stdout = $stdout, stderr = $stderr, kernel = Kernel) @argv, $stdin, $stdout, Ui.logger, @kernel = argv, stdin, stdout, stderr, kernel end |
Instance Method Details
#execute! ⇒ Object
Execute runner
27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/filegen/runner.rb', line 27 def execute! begin = Options.new(argv) generator = ErbGenerator.new(Data.new(.data_sources)) generator.compile(.source, .destination) exitstatus = 0 rescue Interrupt Filegen::Ui.warning 'You told me to stop command execution.' exitstatus = 2 rescue Exceptions::ErbTemplateHasSyntaxErrors => e Filegen::Ui.error "Syntax error in ERB-Template: \n" + e. exitstatus = 3 rescue Exceptions::YamlFileNotFound => e Filegen::Ui.error "Yaml-file \"#{JSON.parse(e.message)['file']}\" not found." exitstatus = 4 rescue StandardError => e Filegen::Ui.error "#{e.class} - #{e.message}" exitstatus = 99 end @kernel.exit(exitstatus) end |