< Summary

Information
Class: Chronicis.Client.Services.Routing.ClientReservedSlugProvider
Assembly: Chronicis.Client
File(s): /home/runner/work/chronicis/chronicis/src/Chronicis.Client/Services/Routing/ClientReservedSlugProvider.cs
Line coverage
100%
Covered lines: 4
Uncovered lines: 0
Coverable lines: 4
Total lines: 18
Line coverage: 100%
Branch coverage
100%
Covered branches: 2
Total branches: 2
Branch coverage: 100%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.ctor(...)100%22100%
IsReserved(...)100%11100%

File(s)

/home/runner/work/chronicis/chronicis/src/Chronicis.Client/Services/Routing/ClientReservedSlugProvider.cs

#LineLine coverage
 1namespace Chronicis.Client.Services.Routing;
 2
 3/// <summary>
 4/// Reads the reserved-slug list from the "Routing:ReservedSlugs" configuration section.
 5/// Missing config defaults to an empty set.
 6/// </summary>
 7public sealed class ClientReservedSlugProvider : IClientReservedSlugProvider
 8{
 9    private readonly HashSet<string> _slugs;
 10
 11    public ClientReservedSlugProvider(IConfiguration configuration)
 12    {
 713        var raw = configuration.GetSection("Routing:ReservedSlugs").Get<string[]>() ?? [];
 714        _slugs = new HashSet<string>(raw, StringComparer.OrdinalIgnoreCase);
 715    }
 16
 1117    public bool IsReserved(string slug) => _slugs.Contains(slug);
 18}