class Bashly::Script::Flag

Public Class Methods

option_keys() click to toggle source
# File lib/bashly/script/flag.rb, line 10
def option_keys
  @option_keys ||= %i[
    allowed arg completions conflicts default help long needs
    repeatable required short unique validate private
  ]
end

Public Instance Methods

aliases() click to toggle source
# File lib/bashly/script/flag.rb, line 18
def aliases
  if long && short
    [long, short]
  elsif long
    [long]
  else
    [short]
  end
end
default_string() click to toggle source
# File lib/bashly/script/flag.rb, line 28
def default_string
  if default.is_a?(Array)
    Shellwords.shelljoin default
  elsif default.is_a?(String) && repeatable
    Shellwords.shellescape default
  else
    default
  end
end
name() click to toggle source
# File lib/bashly/script/flag.rb, line 38
def name
  long || short
end
usage_string(extended: false) click to toggle source
# File lib/bashly/script/flag.rb, line 42
def usage_string(extended: false)
  result = [aliases.join(', ')]
  result << arg.upcase if arg
  result << strings[:required] if required && extended
  result << strings[:repeatable] if repeatable && extended
  result.join ' '
end