class Mixlib::CLI::Formatter

Public Class Methods

combined_option_display_name(short, long) click to toggle source

Create a string that includes both versions (short/long) of a flag name based on on whether short/long/both/neither are provided

@param short [String] the short name of the option. Can be nil. @param long [String] the long name of the option. Can be nil. @return [String] the formatted flag name as described above

# File lib/mixlib/cli/formatter.rb, line 11
def self.combined_option_display_name(short, long)
  usage = ""
  # short/long may have an argument (--long ARG)
  # splitting on " " and taking first ensures that we get just
  # the flag name without the argument if one is present.
  usage << short.split(" ").first if short
  usage << "/" if long && short
  usage << long.split(" ").first if long
  usage
end
friendly_opt_list(opt_array) click to toggle source

@param opt_array [Array]

@return [String] a friendly quoted list of items complete with “or”

# File lib/mixlib/cli/formatter.rb, line 25
def self.friendly_opt_list(opt_array)
  opts = opt_array.map { |x| "'#{x}'" }
  return opts.join(" or ") if opts.size < 3

  opts[0..-2].join(", ") + ", or " + opts[-1]
end