class SocialSnippet::CommandLine::SSpm::MainCommand
Attributes
sub_commands[R]
Public Class Methods
new(new_args, new_streams = {})
click to toggle source
Calls superclass method
SocialSnippet::CommandLine::Command::new
# File lib/social_snippet/command_line/sspm/main_command.rb, line 7 def initialize(new_args, new_streams = {}) super @sub_commands = SSpm::SubCommands.all end
Public Instance Methods
define_options()
click to toggle source
# File lib/social_snippet/command_line/sspm/main_command.rb, line 12 def define_options end
run()
click to toggle source
# File lib/social_snippet/command_line/sspm/main_command.rb, line 24 def run if has_subcommand? command_name = args.shift find_subcommand command_name else help end end
usage()
click to toggle source
# File lib/social_snippet/command_line/sspm/main_command.rb, line 15 def usage <<EOF Usage: sspm <command> [options] [--] Commands: #{usage_subcommands} EOF end
Private Instance Methods
call_subcommand(sym)
click to toggle source
# File lib/social_snippet/command_line/sspm/main_command.rb, line 55 def call_subcommand(sym) cli = SSpm::SubCommands.const_get(sym).new(args) cli.init cli.run end
find_subcommand(command_name)
click to toggle source
# File lib/social_snippet/command_line/sspm/main_command.rb, line 46 def find_subcommand(command_name) sub_command_sym = to_command_class_sym(command_name) if sub_commands.include?(sub_command_sym) call_subcommand(sub_command_sym) else help end end
usage_subcommands()
click to toggle source
# File lib/social_snippet/command_line/sspm/main_command.rb, line 35 def usage_subcommands sub_commands.sort.map do |sub_command_sym| { :sym => sub_command_sym, :instance => SSpm::SubCommands.const_get(sub_command_sym).new(args), } end.map do |sub_command| " #{to_command_name(sub_command[:sym])}\t#{sub_command[:instance].desc}" end.join($/) end