< Summary

Information
Class: Fluorite.Strainer.AspNetCore.Services.AspNetCoreSingletonStrainerOptionsProvider
Assembly: Fluorite.Strainer.AspNetCore
File(s): /builds/fluorite/strainer/src/Strainer.AspNetCore/Services/AspNetCoreSingletonStrainerOptionsProvider.cs
Line coverage
0%
Covered lines: 0
Uncovered lines: 4
Coverable lines: 4
Total lines: 32
Line coverage: 0%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.ctor(...)100%210%
GetStrainerOptions()100%210%

File(s)

/builds/fluorite/strainer/src/Strainer.AspNetCore/Services/AspNetCoreSingletonStrainerOptionsProvider.cs

#LineLine coverage
 1using Fluorite.Strainer.Models;
 2using Fluorite.Strainer.Services;
 3using Microsoft.Extensions.Options;
 4
 5namespace Fluorite.Strainer.AspNetCore.Services;
 6
 7/// <summary>
 8/// Provides access to <see cref="StrainerOptions"/> when using Strainer
 9/// within ASP.NET Core applications registered as singleton services.
 10/// </summary>
 11public class AspNetCoreSingletonStrainerOptionsProvider : IStrainerOptionsProvider
 12{
 13    private readonly IOptionsMonitor<StrainerOptions> _options;
 14
 15    /// <summary>
 16    /// Initializes a new instance of the <see cref="AspNetCoreSingletonStrainerOptionsProvider"/>
 17    /// class.
 18    /// </summary>
 19    /// <param name="options">
 20    /// The Strainer options wrapper in <see cref="IOptions{TOptions}"/>.
 21    /// </param>
 22    /// <exception cref="ArgumentNullException">
 23    /// <paramref name="options"/> is <see langword="null"/>.
 24    /// </exception>
 025    public AspNetCoreSingletonStrainerOptionsProvider(IOptionsMonitor<StrainerOptions> options)
 26    {
 027        _options = Guard.Against.Null(options);
 028    }
 29
 30    /// <inheritdoc/>
 031    public StrainerOptions GetStrainerOptions() => _options.CurrentValue;
 32}