class Bashly::Script::Argument

Public Class Methods

option_keys() click to toggle source
# File lib/bashly/script/argument.rb, line 7
def option_keys
  @option_keys ||= %i[
    allowed default help name repeatable required unique validate
  ]
end

Public Instance Methods

default_string() click to toggle source
# File lib/bashly/script/argument.rb, line 14
def default_string
  if default.is_a?(Array)
    Shellwords.shelljoin default
  elsif default.is_a?(String) && repeatable
    Shellwords.shellescape default
  else
    default
  end
end
label() click to toggle source
# File lib/bashly/script/argument.rb, line 28
def label
  repeatable ? "#{name.upcase}..." : name.upcase
end
usage_string() click to toggle source
# File lib/bashly/script/argument.rb, line 24
def usage_string
  required ? label : "[#{label}]"
end