lib/warder/cli.rb in warder-0.3.1 vs lib/warder/cli.rb in warder-0.3.2

- old
+ new

@@ -1,39 +1,27 @@ module Warder # responsible for cli integration - class CLI + class CLI < ArubaApp def initialize(argv, stdin = STDIN, stdout = STDOUT, stderr = STDERR, kernel = Kernel) + super @argv = argv - @stdin = stdin - @stdout = stdout - @stderr = stderr - @kernel = kernel end - def execute! - @kernel.exit execute - end - private def execute - parse_arguments + options = Arguments.new(@argv, @stdout, @kernel).parse exit_codes = Warder.validators.map do |validator| - perform_validation(validator) + perform_validation(validator, options) end exit_codes.compact.inject(0, :+) end - def parse_arguments - args = Arguments.new(@argv, @stdout, @kernel) - @options = args.parse - end - - def perform_validation(validator) + def perform_validation(validator, options) key = validator::CLI_FULL_OPTION - return 0 unless @options.send(key) - runner = validator.new(@stdout, @options) + return 0 unless options.send(key) + runner = validator.new(@stdout, options) runner.perform end end end