Module: Dry::CLI::Banner

Defined in:
lib/space_core/cli/repeatable_options.rb

Class Method Summary collapse

Class Method Details

.extended_command_options(command) ⇒ Object



51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
# File 'lib/space_core/cli/repeatable_options.rb', line 51

def self.extended_command_options(command)
  result = command.options.map do |option|
    name = Inflector.dasherize(option.name)
    name = if option.boolean?
             "[no-]#{name}"
           elsif option.flag?
             name
           else
             # array options included: repeated flags accumulate, so show
             # the single repeatable form rather than "=VALUE1,VALUE2,..".
             "#{name}=VALUE"
           end
    name = "#{name}, #{option.alias_names.join(", ")}" if option.aliases.any?
    name = "  --#{name.ljust(30)}"
    name = "#{name}  # #{option.desc}"
    name = "#{name}, default: #{option.default.inspect}" unless option.default.nil?
    name
  end

  result << "  --#{"help, -h".ljust(30)}  # Print this help"
  result.join("\n")
end