Sha256: 3d6ad005ca9254e8cf58837fc49d54b8cdbf9aef7d56ccf63e259f879b98e7d7
Contents?: true
Size: 873 Bytes
Versions: 3
Compression:
Stored size: 873 Bytes
Contents
module Warder # responsible for executing warder tools class CLI def initialize(argv, stdin = STDIN, stdout = STDOUT, stderr = STDERR, kernel = Kernel) @argv = argv @stdin = stdin @stdout = stdout @stderr = stderr @kernel = kernel end def execute! @kernel.exit execute end private def execute parse_arguments exit_codes = Warder.validators.map do |validator| perform_validation(validator) end exit_codes.compact.inject(0, :+) end def parse_arguments args = Arguments.new(@argv, @stdout, @kernel) @options = args.parse end def perform_validation(validator) key = validator::CLI_FULL_OPTION if @options.send(key) runner = validator.new(@stdout, @options) runner.perform end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
warder-0.1.8 | lib/warder/cli.rb |
warder-0.1.7 | lib/warder/cli.rb |
warder-0.1.6 | lib/warder/cli.rb |