def determine_command_provided
      if @commands.include? @args.first
        @command = Command.const_get(@args.first.capitalize).new @args.drop 1
      elsif is_snapshot_command?
        klass = @args.take(2).map {|c| c.capitalize}.join('')
        @command = Command.const_get(klass).new @args.drop 2
      else
        show_all_help
        exit 1
      end
    end
def determine_command_provided
      if @commands.include? @args.first
        @command = Command.const_get(@args.first.capitalize).new @args.drop 1
      elsif is_snapshot_command?
        klass = @args.take(2).map {|c| c.capitalize}.join('')
        @command = Command.const_get(klass).new @args.drop 2
      else
        show_all_help
        exit 1
      end
    end
Internal: Determines the command that has been provided.  If it is
 determined that an invalid command is provided, then the help/usage will
 be displayed and it will exit.

 Examples:

   @cli.determine_command_to_execute

 Returns nothing.  This will set the @command instance variable to an instance
 of the appropriate command class (assuming it is valid).