Class: HammerCLI::Subcommand::Definition

Inherits:
Clamp::Subcommand::Definition
  • Object
show all
Defined in:
lib/hammer_cli/subcommand.rb

Direct Known Subclasses

LazyDefinition

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(names, description, subcommand_class, options = {}) ⇒ Definition

Returns a new instance of Definition.



8
9
10
11
12
13
14
# File 'lib/hammer_cli/subcommand.rb', line 8

def initialize(names, description, subcommand_class, options = {})
  @names = Array(names)
  @description = description
  @subcommand_class = subcommand_class
  @hidden = options[:hidden]
  @warning = options[:warning]
end

Instance Attribute Details

#warningObject (readonly)

Returns the value of attribute warning.



31
32
33
# File 'lib/hammer_cli/subcommand.rb', line 31

def warning
  @warning
end

Instance Method Details

#helpObject



26
27
28
29
# File 'lib/hammer_cli/subcommand.rb', line 26

def help
  names = HammerCLI.context[:full_help] ? @names.join(", ") : @names.first
  [names, description]
end

#hidden?Boolean

Returns:

  • (Boolean)


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

def hidden?
  @hidden
end

#subcommand_classObject



20
21
22
23
24
# File 'lib/hammer_cli/subcommand.rb', line 20

def subcommand_class
  @warning ||= @subcommand_class.warning
  warn(@warning) if @warning
  @subcommand_class
end