Class: Jekyll::Commands::Help

Inherits:
Jekyll::Command show all
Defined in:
lib/jekyll/commands/help.rb

Class Method Summary collapse

Methods inherited from Jekyll::Command

add_build_options, configuration_from_options, inherited, process_site, subclasses

Class Method Details

.init_with_program(prog) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/jekyll/commands/help.rb', line 5

def init_with_program(prog)
  prog.command(:help) do |c|
    c.syntax 'help [subcommand]'
    c.description 'Show the help message, optionally for a given subcommand.'

    c.action do |args, _|
      cmd = (args.first || "").to_sym
      if args.empty?
        puts prog
      elsif prog.has_command? cmd
        puts prog.commands[cmd]
      else
        invalid_command(prog, cmd)
        abort
      end
    end
  end
end

.invalid_command(prog, cmd) ⇒ Object



24
25
26
27
# File 'lib/jekyll/commands/help.rb', line 24

def invalid_command(prog, cmd)
  Jekyll.logger.error "Error:", "Hmm... we don't know what the '#{cmd}' command is."
  Jekyll.logger.info  "Valid commands:", prog.commands.keys.join(", ")
end