/// <summary> /// Adds the EnvironmentVariables to the key generation /// </summary> /// <param name="builder"></param> /// <param name="key"></param> /// <returns></returns> public static IMorestachioConfigurationBuilder UseEnvironmentVariableValues( this IMorestachioConfigurationBuilder builder, string key) { var values = Environment.GetEnvironmentVariables() .OfType <DictionaryEntry>() .ToDictionary(e => e.Key.ToString(), e => e.Value); return(builder.UseValues(key, values)); }
/// <summary> /// Adds a set of values to the morestachio config. /// </summary> /// <param name="builder"></param> /// <param name="key">Can be ether null for all or a key</param> /// <param name="values">To set of key-values that should be passed to the config expression</param> /// <returns></returns> public static IMorestachioConfigurationBuilder UseValues(this IMorestachioConfigurationBuilder builder, string key, IDictionary <string, object> values) { key = key ?? string.Empty; if (!builder.Options.Values.TryGetValue(key, out var vals)) { vals = new Dictionary <string, object>(); builder.Options.Values.Add(key, vals); } foreach (var value in values) { vals[value.Key] = value.Value; } return(builder); }
/// <summary> /// Sets a function to evaluate if a key or value needs to be processed by morestachio /// </summary> /// <param name="builder"></param> /// <param name="discovery"></param> /// <returns></returns> public static IMorestachioConfigurationBuilder UseDiscovery(this IMorestachioConfigurationBuilder builder, Func <KeyValuePair <string, string>, bool> discovery) { builder.Options.TransformCondition = discovery; return(builder); }
/// <summary> /// Sets a function to get a new <see cref="ParserOptions"/> /// </summary> /// <param name="builder"></param> /// <param name="options"></param> /// <returns></returns> public static IMorestachioConfigurationBuilder UseOptions(this IMorestachioConfigurationBuilder builder, Func <ParserOptions> options) { builder.Options.ParserOptions = options; return(builder); }