2 <ruleset name="Purtle">
3 <!-- See https://github.com/wikimedia/mediawiki-tools-codesniffer/blob/master/MediaWiki/ruleset.xml -->
4 <rule ref="vendor/mediawiki/mediawiki-codesniffer/MediaWiki">
5 <exclude name="MediaWiki.Commenting.FunctionComment" />
6 <exclude name="MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment" />
9 <rule ref="Generic.Files.InlineHTML" />
10 <rule ref="Generic.Files.OneClassPerFile" />
11 <rule ref="Generic.Files.OneInterfacePerFile" />
12 <rule ref="Generic.Files.OneTraitPerFile" />
14 <rule ref="Generic.Metrics.CyclomaticComplexity">
15 <exclude-pattern>RdfWriterFactory\.php</exclude-pattern>
17 <rule ref="Generic.Metrics.NestingLevel" />
19 <rule ref="Generic.PHP.CharacterBeforePHPOpeningTag" />
21 <rule ref="MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName">
22 <!-- Exclude test methods like "testGivenInvalidInput_methodThrowsException". -->
23 <exclude-pattern>tests/phpunit/*Test*\.php</exclude-pattern>
27 <rule ref="PSR1.Files.SideEffects.FoundWithSymbols">
28 <exclude-pattern>Purtle\.php</exclude-pattern>
30 <rule ref="PSR1.Methods.CamelCapsMethodName.NotCamelCaps">
31 <!-- Exclude test methods like "testGivenInvalidInput_methodThrowsException". -->
32 <exclude-pattern>tests/phpunit/*Test*\.php</exclude-pattern>
35 <rule ref="PSR2.Files" />
37 <rule ref="Squiz.Classes.SelfMemberReference" />
38 <rule ref="Squiz.ControlStructures.ControlSignature" />
39 <rule ref="Squiz.Functions.FunctionDuplicateArgument" />
40 <rule ref="Squiz.Functions.GlobalFunction" />
41 <rule ref="Squiz.Scope" />
43 <rule ref="Squiz.WhiteSpace.FunctionSpacing">
45 <property name="spacing" value="1" />
48 <rule ref="Squiz.WhiteSpace.OperatorSpacing">
50 <property name="ignoreNewlines" value="true" />
55 <arg name="extensions" value="php" />
56 <arg name="encoding" value="utf8" />
57 <exclude-pattern type="relative">^vendor/</exclude-pattern>