class Aid::Scripts::Help

Attributes

script[R]

Public Class Methods

description() click to toggle source
# File lib/aid/scripts/help.rb, line 15
def self.description
  'Displays help information'
end
help() click to toggle source
# File lib/aid/scripts/help.rb, line 19
def self.help
  ''
end
new(*argv) click to toggle source
Calls superclass method Aid::Script::new
# File lib/aid/scripts/help.rb, line 8
def initialize(*argv)
  super

  script_name = argv.first
  @script = Aid::Script.scripts[script_name]
end

Public Instance Methods

run() click to toggle source
# File lib/aid/scripts/help.rb, line 23
def run
  if script
    puts "Help for #{colorize(:light_blue, script.name)}:"

    puts script.help
    puts
  else
    basic_usage
  end
end

Private Instance Methods

basic_usage() click to toggle source
# File lib/aid/scripts/help.rb, line 36
def basic_usage
  puts "Usage: aid #{colorize(:light_blue, '[script name]')}"
  puts
  puts 'Specify a specific script to run, options are: '
  puts

  scripts = Hash[Aid::Script.scripts.sort]

  names_and_descriptions = scripts.map do |name, script|
    [
      colorize(:light_green, name),
      colorize(:light_blue, script.description)
    ]
  end

  padding = names_and_descriptions.map { |name, _| name.length }.max

  names_and_descriptions.each do |name, description|
    puts format("  %-#{padding}s %s", name, description)
  end

  puts
end