22 lines
634 B
C#
22 lines
634 B
C#
|
|
using System;
|
||
|
|
using System.Collections.Generic;
|
||
|
|
using zero.Core.Database;
|
||
|
|
using zero.Core.Options;
|
||
|
|
|
||
|
|
namespace zero.Core.Extensions
|
||
|
|
{
|
||
|
|
public static class ZeroIndexExtensions
|
||
|
|
{
|
||
|
|
internal static void RunModifiers<T>(this T index, IZeroOptions options) where T : IZeroIndexDefinition
|
||
|
|
{
|
||
|
|
IEnumerable<RavenIndexModifiersOptions.Modifier> modifiers = options.Raven.Indexes.Modifiers.GetAllForType(index.GetType());
|
||
|
|
|
||
|
|
foreach (RavenIndexModifiersOptions.Modifier modifier in modifiers)
|
||
|
|
{
|
||
|
|
Action<IZeroIndexDefinition> action = modifier.Modify.Compile();
|
||
|
|
action.Invoke(index);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|