<?xml version="1.0" encoding="UTF-8"?>
<ruleset name="SilverStripe">
    <description>CodeSniffer ruleset for SilverStripe coding conventions.</description>

    <!-- base rules are PSR-2 -->
    <rule ref="PSR2" >
        <!-- Current exclusions -->
        <exclude name="PSR1.Methods.CamelCapsMethodName" />
        <exclude name="PSR1.Files.SideEffects.FoundWithSymbols" />
        <exclude name="PSR2.Classes.PropertyDeclaration" />
        <exclude name="PSR2.ControlStructures.SwitchDeclaration" /> <!-- causes php notice while linting -->
        <exclude name="PSR2.ControlStructures.SwitchDeclaration.WrongOpenercase" />
        <exclude name="PSR2.ControlStructures.SwitchDeclaration.WrongOpenerdefault" />
        <exclude name="PSR2.ControlStructures.SwitchDeclaration.TerminatingComment" />
        <exclude name="PSR2.Methods.MethodDeclaration.Underscore" />
        <exclude name="Squiz.Scope.MethodScope" />
        <exclude name="Squiz.Classes.ValidClassName.NotCamelCaps" />
        <exclude name="Generic.Files.LineLength.TooLong" />
        <exclude name="PEAR.Functions.ValidDefaultValue.NotAtEnd" />
    </rule>
</ruleset>