Class: EacCli::Docopt::DocBuilder::Alternative
- Defined in:
- lib/eac_cli/docopt/doc_builder/alternative.rb
Instance Method Summary collapse
- #option_argument(option) ⇒ Object
- #options ⇒ Object
- #positional(positional) ⇒ Object
- #positionals ⇒ Object
- #to_s ⇒ Object
Instance Method Details
#option_argument(option) ⇒ Object
27 28 29 30 31 |
# File 'lib/eac_cli/docopt/doc_builder/alternative.rb', line 27 def option_argument(option) b = option.long b += '=<value>' if option.argument? b end |
#options ⇒ Object
21 22 23 24 25 |
# File 'lib/eac_cli/docopt/doc_builder/alternative.rb', line 21 def alternative..select(&:show_on_usage?).map do |option| ::EacCli::Docopt::DocBuilder.option_long(option) end end |
#positional(positional) ⇒ Object
37 38 39 40 41 42 43 44 45 46 47 48 |
# File 'lib/eac_cli/docopt/doc_builder/alternative.rb', line 37 def positional(positional) return unless positional.visible? if positional.subcommand? ::EacCli::DocoptRunner::SUBCOMMANDS_MACRO else r = "<#{positional.name}>" r += '...' if positional.repeat? r = "[#{r}]" if positional.optional? r end end |
#positionals ⇒ Object
33 34 35 |
# File 'lib/eac_cli/docopt/doc_builder/alternative.rb', line 33 def positionals alternative.positional.map { |p| positional(p) }.reject(&:blank?) end |
#to_s ⇒ Object
12 13 14 15 16 17 18 19 |
# File 'lib/eac_cli/docopt/doc_builder/alternative.rb', line 12 def to_s ( [::EacCli::DocoptRunner::PROGRAM_MACRO] + alternative..if_present([]) { |_v| ['[options]'] } + + positionals ).join(::EacCli::Docopt::DocBuilder::SEP) end |