Class: EacCli::Definition::Option::InitializeArgsParser::ArgumentParser

Inherits:
Object
  • Object
show all
Defined in:
lib/eac_cli/definition/option/initialize_args_parser.rb

Constant Summary collapse

TYPES =
%i[short long description].freeze

Instance Method Summary collapse

Instance Method Details

#description?Boolean

Returns:

  • (Boolean)


41
42
43
# File 'lib/eac_cli/definition/option/initialize_args_parser.rb', line 41

def description?
  !short? || !long?
end

#long?Boolean

Returns:

  • (Boolean)


37
38
39
# File 'lib/eac_cli/definition/option/initialize_args_parser.rb', line 37

def long?
  value.start_with?('--')
end

#short?Boolean

Returns:

  • (Boolean)


33
34
35
# File 'lib/eac_cli/definition/option/initialize_args_parser.rb', line 33

def short?
  value.start_with?('-') && !long?
end

#typeObject



28
29
30
31
# File 'lib/eac_cli/definition/option/initialize_args_parser.rb', line 28

def type
  TYPES.find { |type| send("#{type}?") } ||
    raise(::EacCli::Definition::Error, "Unknown type for \"#{value}\"")
end