NPetrovich.Inflection.CaseInflection.MatchRule C# (CSharp) Method

MatchRule() private method

private MatchRule ( string name, Rule rule, bool matchWholeWord, HashSet tags ) : bool
name string
rule NPetrovich.Rules.Data.Rule
matchWholeWord bool
tags HashSet
return bool
        private bool MatchRule(string name, Rule rule, bool matchWholeWord, HashSet<string> tags)
        {
            if ((rule.Tags ?? new List<string>()).Except(tags).Any())
                return false;

            Gender genderRule;
            if (Enum.TryParse(rule.Gender, true, out genderRule) &&
                ((genderRule == Gender.Male && gender == Gender.Female) ||
                 (genderRule == Gender.Female && gender != Gender.Female)))
            {
                return false;
            }

            name = name.ToLower();
            return new SuffixMatching(rule.TestSuffixes, matchWholeWord).IsMatched(name);
        }