1) Remove method RuleInterface::getName().
2) Remove interface RuleWithOptionsInterface.
3) Remove RulesDumper.
4) Create new RulesConvertor that would can be configured for usage with custom rules also.
Benefits:
more clear rule classes;
it allows to move all default values to rule handlers, that allow override default values globally.
My suggestion:
1) Remove method
RuleInterface::getName()
. 2) Remove interfaceRuleWithOptionsInterface
. 3) RemoveRulesDumper
. 4) Create newRulesConvertor
that would can be configured for usage with custom rules also.Benefits: