Skip to content

Commit a46da26

Browse files
author
Kapil Borle
committed
Add method to update settings
1 parent 46b14fb commit a46da26

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

Engine/ScriptAnalyzer.cs

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -198,6 +198,30 @@ public void CleanUp()
198198
suppressedOnly = false;
199199
}
200200

201+
/// <summary>
202+
/// Update includerules, excluderules, severity and rule arguments.
203+
/// </summary>
204+
/// <param name="settings">An object of type Settings</param>
205+
public void UpdateSettings(Settings settings)
206+
{
207+
if (settings == null)
208+
{
209+
throw new ArgumentNullException(nameof(settings));
210+
}
211+
212+
this.severity = (!settings.Severity.Any()) ? null : settings.Severity.ToArray();
213+
this.includeRule = (!settings.IncludeRules.Any()) ? null : settings.IncludeRules.ToArray();
214+
this.excludeRule = (!settings.ExcludeRules.Any()) ? null : settings.ExcludeRules.ToArray();
215+
if (settings.RuleArguments != null)
216+
{
217+
Helper.Instance.SetRuleArguments(
218+
settings.RuleArguments.ToDictionary(
219+
kvp => kvp.Key,
220+
kvp => kvp.Value as object,
221+
StringComparer.OrdinalIgnoreCase));
222+
}
223+
}
224+
201225
internal bool ParseProfile(object profileObject, PathIntrinsics path, IOutputWriter writer)
202226
{
203227
// profile was not given

0 commit comments

Comments
 (0)