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