class Inspec::EnvPrinter::TemplateContext
def commands_for_thor_class(thor_class)
def commands_for_thor_class(thor_class) thor_class.all_commands.values.map { |c| c.usage.split.first } end
def descript_line_for_command(c)
def descript_line_for_command(c) "#{c.usage.split.first}:#{Shellwords.escape(c.description)}" end
def descript_lines_for_class(thor_class)
def descript_lines_for_class(thor_class) thor_class.all_commands.values.map { |c| descript_line_for_command(c) } end
def get_bindings # rubocop:disable Style/AccessorMethodName
def get_bindings # rubocop:disable Style/AccessorMethodName binding end
def initialize(command_class)
def initialize(command_class) @command_class = command_class end
def subcommands_with_commands
def subcommands_with_commands ret = {} @command_class.subcommand_classes.each do |k, v| ret[k] = commands_for_thor_class(v) end ret end
def subcommands_with_commands_and_descriptions
def subcommands_with_commands_and_descriptions ret = {} @command_class.subcommand_classes.each do |k, v| ret[k] = descript_lines_for_class(v) end ret end
def top_level_commands
is something that provides a Thor-like API
The following functions all assume that @command_class
def top_level_commands commands_for_thor_class(@command_class) end
def top_level_commands_with_descriptions
def top_level_commands_with_descriptions descript_lines_for_class(@command_class) end