class Evostream::CLI::Argument::Arg

Abstract class for all argument used with CLI command

Public Class Methods

descendants() click to toggle source
# File lib/evostream/cli/option/argument.rb, line 10
def self.descendants
  ObjectSpace.each_object(Class).select { |klass| klass < self }
end

Public Instance Methods

used?() click to toggle source
# File lib/evostream/cli/option/argument.rb, line 14
def used?
  action if use(self.class::KEY)
end

Private Instance Methods

action() click to toggle source
# File lib/evostream/cli/option/argument.rb, line 24
def action
  raise CodeError::Finished
end
parameter(search_case) click to toggle source
# File lib/evostream/cli/option/argument.rb, line 28
def parameter(search_case)
  param = ARGV.find_index(search_case)
  ARGV[param + 1]
end
use(argument_parsed) click to toggle source
# File lib/evostream/cli/option/argument.rb, line 20
def use(argument_parsed)
  argument_parsed.any? { |value| ARGV.include?(value) }
end