class WhirledPeas::CommandLine
Constants
- COMMANDS
Attributes
args[R]
Public Class Methods
new(args)
click to toggle source
# File lib/whirled_peas/command_line.rb, line 23 def initialize(args) @args = args end
Public Instance Methods
start()
click to toggle source
# File lib/whirled_peas/command_line.rb, line 27 def start if args.length < 1 print_usage exit(1) end command = args.shift unless COMMANDS.key?(command) puts "Unrecognized command: #{command}" print_usage exit(1) end cmd = COMMANDS[command].new(args, WhirledPeas.config) unless cmd.valid? cmd.print_error exit(1) end cmd.start end
Private Instance Methods
print_usage()
click to toggle source
# File lib/whirled_peas/command_line.rb, line 55 def print_usage puts "Usage: #{$0} <command> [command options]" puts puts 'Available commands:' puts max_name_length = 0 COMMANDS.keys.each { |c| max_name_length = c.length if c.length > max_name_length } COMMANDS.each do |name, klass| puts " #{name.ljust(max_name_length, ' ')} #{klass.description}" end end