RuleEval 1.1.0
See the version list below for details.
dotnet add package RuleEval --version 1.1.0
NuGet\Install-Package RuleEval -Version 1.1.0
<PackageReference Include="RuleEval" Version="1.1.0" />
<PackageVersion Include="RuleEval" Version="1.1.0" />
<PackageReference Include="RuleEval" />
paket add RuleEval --version 1.1.0
#r "nuget: RuleEval, 1.1.0"
#:package RuleEval@1.1.0
#addin nuget:?package=RuleEval&version=1.1.0
#tool nuget:?package=RuleEval&version=1.1.0
RuleEval
📚 Dokumentace: architecture.md · nuget-packages.md · publishing-nuget.md
ModernĂ open-source rule engine pro .NET 8
Obsah
RychlĂ˝ start
dotnet add package RuleEval
using RuleEval.Abstractions;
using RuleEval.Core;
var ruleSet = RuleSetBuilder
.Create("pricing")
.AddInput("segment")
.AddInput("age")
.AddRule(rule => rule
.When("segment", ".*Perspektiva.*")
.When("age", "INTERVAL<15;24>")
.ThenOutput("formula", "C2/240")
.WithPrimaryKey("id", 1))
.Build();
var evaluator = new RuleSetEvaluator();
var result = evaluator.EvaluateFirst(
ruleSet,
EvaluationContext.FromPositional("7BN Perspektiva DĹŻchod", 15m),
new EvaluationOptions(CaptureDiagnostics: true));
Console.WriteLine(result.Status);
Console.WriteLine(result.Match?.Outputs[0].RawValue); // C2/240
Volitelná integrace s Microsoft.Extensions.DependencyInjection
using Microsoft.Extensions.DependencyInjection;
using RuleEval.DependencyInjection;
services.AddRuleEval();
NuGet balĂÄŤky
| Projekt | NuGet | Popis |
|---|---|---|
RuleEval.Abstractions |
📦 | Contracts a immutable domĂ©novĂ˝ model; referujte, pokud pĂšete knihovny integrujĂcĂ se s RuleEval |
RuleEval |
📦 | Evaluačnà engine, built-in matchery (regex, INTERVAL, equality) |
RuleEval.Caching |
— | InternĂ projekt bez vlastnĂho NuGet; zkompilován do RuleEval.DependencyInjection a RuleEval.Database. Obsahuje IRuleSetCache, MemoryRuleSetCache, NoCacheRuleSetCache |
RuleEval.Diagnostics |
— | InternĂ projekt bez vlastnĂho NuGet. Obsahuje IRuleEvaluationObserver, observer pattern pro vĂ˝sledky evaluace |
RuleEval.DependencyInjection |
📦 | AddRuleEval() registrace core služeb do IServiceCollection |
RuleEval.Database.Abstractions |
— | InternĂ projekt bez vlastnĂho NuGet; zkompilován do RuleEval.Database. Obsahuje IRuleSetSource, IRuleSetRepository — provider-neutral DB contracts |
RuleEval.Database |
📦 | DbRuleSetMapper, RuleSetRepository, PostgreSqlRuleSetSource, SqlServerRuleSetSource |
RuleEval.Database.DependencyInjection |
📦 | AddRuleEvalDatabase() registrace DB služeb do IServiceCollection |
Dokumentace
| Dokument | Obsah |
|---|---|
| docs/architecture.md | Architektura, design rozhodnutĂ, závislosti mezi vrstvami, evaluaÄŤnĂ flow |
| docs/nuget-packages.md | PĹ™ehled balĂÄŤkĹŻ, typickĂ© instalaÄŤnĂ scĂ©náře, dependency graph |
| docs/publishing-nuget.md | Jak verzovat, zabalit a publikovat NuGet balĂÄŤky |
| samples/RuleEval.Samples | Kompletnà ukázky použità včetně DI, cache a DB vrstvy |
| benchmarks/RuleEval.Benchmarks | BenchmarkDotNet výkonnostnà testy |
Build a test
dotnet restore RuleEval.sln
dotnet build RuleEval.sln -c Release
dotnet test RuleEval.sln -c Release --collect:"XPlat Code Coverage"
Licence
MIT. Viz LICENSE.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- RuleEval.Abstractions (>= 1.1.0)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on RuleEval:
| Package | Downloads |
|---|---|
|
RuleEval.Database
Database-backed rule set loading for RuleEval. Includes DbRuleSetMapper, RuleSetRepository, and a PostgreSQL source (PostgreSqlRuleSetSource) via Npgsql. SQL Server support (SqlServerRuleSetSource) is provider-neutral and works with any ADO.NET DbConnection. |
|
|
RuleEval.DependencyInjection
Optional Microsoft.Extensions.DependencyInjection integration for RuleEval core runtime. Does not pull in any database dependencies. |
GitHub repositories
This package is not used by any popular GitHub repositories.