Added null check for name in UserInfo class (#2918)

diff --git a/lib/src/command/login.dart b/lib/src/command/login.dart
index 4dcf52e..60547e2 100644
--- a/lib/src/command/login.dart
+++ b/lib/src/command/login.dart
@@ -43,7 +43,7 @@
       final discovery = await httpClient.get(Uri.https(
           'accounts.google.com', '/.well-known/openid-configuration'));
       final userInfoEndpoint = json.decode(discovery.body)['userinfo_endpoint'];
-      final userInfoRequest = await client.get(userInfoEndpoint);
+      final userInfoRequest = await client.get(Uri.parse(userInfoEndpoint));
       if (userInfoRequest.statusCode != 200) return null;
       try {
         final userInfo = json.decode(userInfoRequest.body);
@@ -60,5 +60,5 @@
   final String email;
   _UserInfo(this.name, this.email);
   @override
-  String toString() => '<$email> "$name"';
+  String toString() => ['<$email>', if (name != null) name].join(' ');
 }
diff --git a/lib/src/ignore.dart b/lib/src/ignore.dart
index ceef982..0a49f68 100644
--- a/lib/src/ignore.dart
+++ b/lib/src/ignore.dart
@@ -531,8 +531,7 @@
   _IgnorePrefixPair(this.ignore, this.prefix);
   @override
   String toString() {
-    // TODO: implement toString
-    return '{${ignore._rules.map((r) => r.original)} ${prefix}}';
+    return '{${ignore._rules.map((r) => r.original)} $prefix}';
   }
 }
 
diff --git a/lib/src/package.dart b/lib/src/package.dart
index 88a2909..bebda69 100644
--- a/lib/src/package.dart
+++ b/lib/src/package.dart
@@ -5,9 +5,9 @@
 import 'dart:io';
 
 import 'package:path/path.dart' as p;
-import 'package:pub/src/exceptions.dart';
 import 'package:pub_semver/pub_semver.dart';
 
+import 'exceptions.dart';
 import 'git.dart' as git;
 import 'ignore.dart';
 import 'io.dart';