Skip to content

Commit dd1c82a

Browse files
Use file-scoped namespaces
1 parent 5db0d10 commit dd1c82a

21 files changed

Lines changed: 1285 additions & 1304 deletions

.editorconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,3 +20,4 @@ csharp_style_expression_bodied_indexers = true
2020
csharp_style_expression_bodied_accessors = true
2121
csharp_style_expression_bodied_lambdas = true
2222
csharp_style_expression_bodied_local_functions = true
23+
csharp_style_namespace_declarations = file_scoped:warning

src/App.cs

Lines changed: 48 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -1,69 +1,68 @@
1-
using System;
1+
using System;
22
using System.Security.Authentication;
33
using System.Threading.Tasks;
44
using Octokit;
55

6-
namespace GitHubLabelSync
6+
namespace GitHubLabelSync;
7+
8+
public class App
79
{
8-
public class App
10+
private readonly ISynchronizer _sync;
11+
private readonly Action<string> _setStatus;
12+
private readonly Action<string> _log;
13+
14+
public App(ISynchronizer sync, Action<string> setStatus, Action<string> log)
915
{
10-
private readonly ISynchronizer _sync;
11-
private readonly Action<string> _setStatus;
12-
private readonly Action<string> _log;
16+
_sync = sync;
17+
_setStatus = setStatus;
18+
_log = log;
19+
}
1320

14-
public App(ISynchronizer sync, Action<string> setStatus, Action<string> log)
15-
{
16-
_sync = sync;
17-
_setStatus = setStatus;
18-
_log = log;
19-
}
21+
public async Task Run(Settings settings)
22+
{
23+
_setStatus($"Starting...");
24+
_log(settings.Name);
2025

21-
public async Task Run(Settings settings)
22-
{
23-
_setStatus($"Starting...");
24-
_log(settings.Name);
26+
var account = await GetValidAccount(settings);
27+
var repos = await _sync.GetRepositories(account);
28+
var labels = await _sync.GetAccountLabels(account);
29+
_log(string.Empty);
2530

26-
var account = await GetValidAccount(settings);
27-
var repos = await _sync.GetRepositories(account);
28-
var labels = await _sync.GetAccountLabels(account);
29-
_log(string.Empty);
31+
foreach (var repo in repos)
32+
{
33+
_log(repo.Name);
3034

31-
foreach (var repo in repos)
35+
if (repo.Archived)
3236
{
33-
_log(repo.Name);
34-
35-
if (repo.Archived)
36-
{
37-
_log($"(skipping: repo is archived)");
38-
}
39-
else
40-
{
41-
await _sync.SyncRepo(repo, settings, labels);
42-
}
43-
44-
_log(string.Empty);
37+
_log($"(skipping: repo is archived)");
38+
}
39+
else
40+
{
41+
await _sync.SyncRepo(repo, settings, labels);
4542
}
4643

47-
_log("Done!");
44+
_log(string.Empty);
4845
}
4946

50-
private async Task<Account> GetValidAccount(Settings settings)
51-
{
52-
var access = await _sync.ValidateAccess();
53-
if (!access.Successful)
54-
{
55-
throw new AuthenticationException(access.Message);
56-
}
47+
_log("Done!");
48+
}
5749

58-
var account = await _sync.GetAccount(settings.Name);
50+
private async Task<Account> GetValidAccount(Settings settings)
51+
{
52+
var access = await _sync.ValidateAccess();
53+
if (!access.Successful)
54+
{
55+
throw new AuthenticationException(access.Message);
56+
}
5957

60-
var auth = await _sync.ValidateUser(account);
61-
if (!auth.Successful)
62-
{
63-
throw new AuthenticationException(auth.Message);
64-
}
58+
var account = await _sync.GetAccount(settings.Name);
6559

66-
return account;
60+
var auth = await _sync.ValidateUser(account);
61+
if (!auth.Successful)
62+
{
63+
throw new AuthenticationException(auth.Message);
6764
}
65+
66+
return account;
6867
}
69-
}
68+
}

src/Command.cs

Lines changed: 24 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,34 @@
1-
using System;
1+
using System;
22
using System.Threading.Tasks;
33
using Spectre.Console;
44
using Spectre.Console.Cli;
55

6-
namespace GitHubLabelSync
6+
namespace GitHubLabelSync;
7+
8+
public class Command : AsyncCommand<Settings>
79
{
8-
public class Command : AsyncCommand<Settings>
9-
{
10-
private readonly IAnsiConsole _console;
10+
private readonly IAnsiConsole _console;
1111

12-
public Command(IAnsiConsole console)
13-
=> _console = console;
12+
public Command(IAnsiConsole console)
13+
=> _console = console;
1414

15-
public override async Task<int> ExecuteAsync(CommandContext context, Settings settings)
15+
public override async Task<int> ExecuteAsync(CommandContext context, Settings settings)
16+
{
17+
try
1618
{
17-
try
18-
{
19-
await _console.Status().StartAsync("Running...", Run(settings));
20-
return 0;
21-
}
22-
catch (Exception e)
23-
{
24-
_console.WriteException(e, ExceptionFormats.ShortenEverything);
25-
return 1;
26-
}
19+
await _console.Status().StartAsync("Running...", Run(settings));
20+
return 0;
21+
}
22+
catch (Exception e)
23+
{
24+
_console.WriteException(e, ExceptionFormats.ShortenEverything);
25+
return 1;
2726
}
28-
29-
private Func<StatusContext, Task> Run(Settings settings)
30-
=> async ctx
31-
=> await Factory
32-
.App(settings.APIKey, s => ctx.Status(s), s => _console.WriteLine(s))
33-
.Run(settings);
3427
}
35-
}
28+
29+
private Func<StatusContext, Task> Run(Settings settings)
30+
=> async ctx
31+
=> await Factory
32+
.App(settings.APIKey, s => ctx.Status(s), s => _console.WriteLine(s))
33+
.Run(settings);
34+
}

src/Factory.cs

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,19 @@
1-
using System;
1+
using System;
22
using System.Reflection;
33
using Octokit;
44

5-
namespace GitHubLabelSync
5+
namespace GitHubLabelSync;
6+
7+
public static class Factory
68
{
7-
public static class Factory
9+
public static App App(string apiKey, Action<string> setStatus, Action<string> log)
810
{
9-
public static App App(string apiKey, Action<string> setStatus, Action<string> log)
10-
{
11-
var name = Assembly.GetExecutingAssembly().GetName().Name;
12-
var value = new ProductHeaderValue(name);
13-
var client = new GitHubClient(value) { Credentials = new Credentials(apiKey) };
11+
var name = Assembly.GetExecutingAssembly().GetName().Name;
12+
var value = new ProductHeaderValue(name);
13+
var client = new GitHubClient(value) { Credentials = new Credentials(apiKey) };
1414

15-
var gitHub = new GitHub(client, setStatus, log);
16-
var sync = new Synchronizer(gitHub, setStatus, log);
17-
return new App(sync, setStatus, log);
18-
}
15+
var gitHub = new GitHub(client, setStatus, log);
16+
var sync = new Synchronizer(gitHub, setStatus, log);
17+
return new App(sync, setStatus, log);
1918
}
20-
}
19+
}

0 commit comments

Comments
 (0)