Module: Clamp::Subcommand::Declaration

Included in:
Command
Defined in:
lib/clamp/subcommand/declaration.rb

Instance Method Summary collapse

Instance Method Details

#find_subcommand(name) ⇒ Object



27
28
29
# File 'lib/clamp/subcommand/declaration.rb', line 27

def find_subcommand(name)
  recognised_subcommands.find { |sc| sc.name == name }
end

#has_subcommands?Boolean

Returns:

  • (Boolean)


23
24
25
# File 'lib/clamp/subcommand/declaration.rb', line 23

def has_subcommands?
  !recognised_subcommands.empty?
end

#recognised_subcommandsObject



11
12
13
# File 'lib/clamp/subcommand/declaration.rb', line 11

def recognised_subcommands
  @recognised_subcommands ||= []
end

#subcommand(name, description, subcommand_class = self, &block) ⇒ Object



15
16
17
18
19
20
21
# File 'lib/clamp/subcommand/declaration.rb', line 15

def subcommand(name, description, subcommand_class = self, &block)
  if block
    # generate a anonymous sub-class
    subcommand_class = Class.new(subcommand_class, &block)
  end
  recognised_subcommands << Subcommand.new(name, description, subcommand_class)
end