forgot to add the new classes whoops
parent
c5748a21d4
commit
4056a7ed6b
@ -0,0 +1,35 @@
|
||||
using System;
|
||||
using System.Text.RegularExpressions;
|
||||
|
||||
namespace BunyMuny {
|
||||
public class Rule {
|
||||
public RuleMatch Match { get; set; }
|
||||
public string Value { get; set; }
|
||||
public string Category { get; set; }
|
||||
public string Description { get; set; }
|
||||
public bool CaseSensitive { get; set; } // TODO: make this have an effect
|
||||
|
||||
/// <summary>
|
||||
/// Checks whether or not a given value matches the rule.
|
||||
/// </summary>
|
||||
/// <param name="input">The string to check against the rule's Value.</param>
|
||||
/// <returns></returns>
|
||||
public bool Check(string input) {
|
||||
switch (Match) {
|
||||
case RuleMatch.Exact:
|
||||
return input == Value;
|
||||
case RuleMatch.Start:
|
||||
return input.StartsWith(Value);
|
||||
case RuleMatch.End:
|
||||
return input.EndsWith(Value);
|
||||
case RuleMatch.Regex:
|
||||
var re = new Regex(Value);
|
||||
return re.IsMatch(input);
|
||||
case RuleMatch.Contains:
|
||||
return input.Contains(input);
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,9 @@
|
||||
namespace BunyMuny {
|
||||
public enum RuleMatch {
|
||||
Exact,
|
||||
Start,
|
||||
End,
|
||||
Regex,
|
||||
Contains
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue