< Summary

Information
Class: Fluorite.Strainer.AspNetCore.Services.AspNetCoreStrainerOptionsProvider
Assembly: Fluorite.Strainer.AspNetCore
File(s): /builds/fluorite/strainer/src/Strainer.AspNetCore/Services/AspNetCoreStrainerOptionsProvider.cs
Line coverage
100%
Covered lines: 4
Uncovered lines: 0
Coverable lines: 4
Total lines: 32
Line coverage: 100%
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%11100%
GetStrainerOptions()100%11100%

File(s)

/builds/fluorite/strainer/src/Strainer.AspNetCore/Services/AspNetCoreStrainerOptionsProvider.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.
 10/// </summary>
 11public class AspNetCoreStrainerOptionsProvider : IStrainerOptionsProvider
 12{
 13    private readonly IOptionsSnapshot<StrainerOptions> _options;
 14
 15    /// <summary>
 16    /// Initializes a new instance of the <see cref="AspNetCoreStrainerOptionsProvider"/>
 17    /// class.
 18    /// </summary>
 19    /// <param name="options">
 20    /// The Strainer options wrapper in <see cref="IOptionsSnapshot{TOptions}"/>.
 21    /// </param>
 22    /// <exception cref="ArgumentNullException">
 23    /// <paramref name="options"/> is <see langword="null"/>.
 24    /// </exception>
 2025    public AspNetCoreStrainerOptionsProvider(IOptionsSnapshot<StrainerOptions> options)
 26    {
 2027        _options = Guard.Against.Null(options);
 2028    }
 29
 30    /// <inheritdoc/>
 1631    public StrainerOptions GetStrainerOptions() => _options.Value;
 32}