module Clamp::Help

Attributes

declared_usage_descriptions[R]
description[R]

Public Instance Methods

banner(description) click to toggle source
derived_usage_description() click to toggle source
# File lib/clamp/help.rb, line 29
def derived_usage_description
  parts = ["[OPTIONS]"]
  parts += parameters.map { |a| a.name }
  parts.join(" ")
end
description=(description) click to toggle source
# File lib/clamp/help.rb, line 14
def description=(description)
  @description = description.dup
  if @description =~ /^\A\n*( +)/
    indent = $1
    @description.gsub!(/^#{indent}/, '')
  end
  @description.strip!
end
help(invocation_path, builder = Builder.new) click to toggle source
# File lib/clamp/help.rb, line 39
def help(invocation_path, builder = Builder.new)
  help = builder
  help.add_usage(invocation_path, usage_descriptions)
  help.add_description(description)
  if has_parameters?
    help.add_list("Parameters", parameters)
  end
  if has_subcommands?
    help.add_list("Subcommands", recognised_subcommands)
  end
  help.add_list("Options", recognised_options)
  help.string
end
usage(usage) click to toggle source
# File lib/clamp/help.rb, line 7
def usage(usage)
  @declared_usage_descriptions ||= []
  @declared_usage_descriptions << usage
end
usage_descriptions() click to toggle source
# File lib/clamp/help.rb, line 35
def usage_descriptions
  declared_usage_descriptions || [derived_usage_description]
end