class Arcanus::Command::Help

Public Instance Methods

execute() click to toggle source
# File lib/arcanus/command/help.rb, line 5
def execute
  ui.print 'Arcanus is a tool for managing encrypted secrets in a repository.'
  ui.newline

  ui.print 'Usage: ', newline: false
  ui.info 'arcanus [command]'
  ui.newline

  command_classes.each do |command_class|
    ui.info command_class.short_name.ljust(12, ' '), newline: false
    ui.print command_class.description
  end

  ui.newline
  ui.print "See #{Arcanus::REPO_URL}#usage for full documentation"
end

Private Instance Methods

command_classes() click to toggle source
# File lib/arcanus/command/help.rb, line 24
def command_classes
  command_files =
    Dir[File.join(File.dirname(__FILE__), '*.rb')] # rubocop:disable InverseMethods
    .select { |path| File.basename(path, '.rb') != 'base' }

  command_files.map do |file|
    require file

    basename = File.basename(file, '.rb')
    Arcanus::Command.const_get(Arcanus::Utils.camel_case(basename))
  end
end