Sha256: f916ee25a1ddb75717631ce2d77ded131e7f44f88cafdd1aae8f7509e380017e
Contents?: true
Size: 864 Bytes
Versions: 5
Compression:
Stored size: 864 Bytes
Contents
module Warder # responsible for cli integration 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 return 0 unless @options.send(key) runner = validator.new(@stdout, @options) runner.perform end end end
Version data entries
5 entries across 5 versions & 1 rubygems
Version | Path |
---|---|
warder-0.3.1 | lib/warder/cli.rb |
warder-0.3.0 | lib/warder/cli.rb |
warder-0.2.4 | lib/warder/cli.rb |
warder-0.2.3 | lib/warder/cli.rb |
warder-0.2.2 | lib/warder/cli.rb |