Class: Lino::Builders::Subcommand

Inherits:
Object
  • Object
show all
Includes:
Mixins::Appliables, Mixins::Options
Defined in:
lib/lino/builders/subcommand.rb

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Mixins::Appliables

#with_appliable, #with_appliables

Methods included from Mixins::Validation

#empty?, #nil_or_empty?

Methods included from Mixins::Options

#with_flag, #with_flags, #with_option, #with_options, #with_repeated_option

Constructor Details

#initialize(state) ⇒ Subcommand

Returns a new instance of Subcommand.



21
22
23
24
# File 'lib/lino/builders/subcommand.rb', line 21

def initialize(state)
  @subcommand = state[:subcommand]
  @options = Hamster::Vector.new(state[:options] || [])
end

Class Method Details

.for_subcommand(subcommand) ⇒ Object



16
17
18
# File 'lib/lino/builders/subcommand.rb', line 16

def for_subcommand(subcommand)
  Builders::Subcommand.new(subcommand:)
end

Instance Method Details

#build(option_separator, option_quoting, option_placement) ⇒ Object



26
27
28
29
30
31
32
33
34
35
# File 'lib/lino/builders/subcommand.rb', line 26

def build(option_separator, option_quoting, option_placement)
  Model::Subcommand.new(
    @subcommand,
    options: build_options(
      option_separator,
      option_quoting,
      option_placement
    )
  )
end