Skip to content

Latest commit

 

History

History
34 lines (32 loc) · 1.04 KB

adding_new_rule.md

File metadata and controls

34 lines (32 loc) · 1.04 KB

Adding new rule

E0000 Example Rule can be used as a base for any new rules. Please follow the next steps to add a new rule:

  1. Pickup available code for a new rule, lets say it is E1234.
  2. Create a new rule module:
    cp src/rules/e0.rs src/rules/e1234.rs
  3. Update CODE and DESCRIPTION variables in the new src/rules/e1234.rs:
    ...
    static CODE: &str = "E1234";
    static DESCRIPTION: &str = "Your rule description";
    ...
  4. Create PHP examples for the new rule:
    cp -r src/rules/examples/e0 src/rules/examples/e1234
  5. Implement validate function in src/rules/e1234.rs. And cover it with tests in mod tests.
  6. Enable the new rule in src/rules/mod.rs:
    ...
    pub mod e1234;
    ...
    pub fn all_rules() -> HashMap<String, Box<dyn Rule>> {
        ...
        add_rule(&mut rules, Box::default() as Box<e1234::Rule>);
        ...
    }
  7. Update README.md with new rule details.
  8. Done! Submit a new PR with new rule.