<?xml version="1.0"?>
<ruleset name="PHP_CodeSniffer">
  <description>The coding standard for analytics-php project.</description>
  <config name="installed_paths" value="vendor/slevomat/coding-standard/SlevomatCodingStandard"/>
  <file>./lib/</file>
  <file>./test/</file>

  <rule ref="PSR12">
  </rule>
  <rule ref="PSR1.Methods.CamelCapsMethodName.NotCamelCaps">
    <exclude-pattern>*/test/*</exclude-pattern>
  </rule>
  <rule ref="Squiz.Strings.DoubleQuoteUsage.NotRequired"/>
  <rule ref="Generic.Arrays.DisallowLongArraySyntax"/>
  <rule ref="SlevomatCodingStandard.Namespaces.UseDoesNotStartWithBackslash"/>
  <rule ref="SlevomatCodingStandard.Namespaces.MultipleUsesPerLine"/>
  <rule ref="SlevomatCodingStandard.TypeHints.NullableTypeForNullDefaultValue"/>
  <rule ref="SlevomatCodingStandard.TypeHints.ReturnTypeHintSpacing"/>
  <rule ref="SlevomatCodingStandard.Classes.ClassConstantVisibility"/>
  <rule ref="SlevomatCodingStandard.ControlStructures.DisallowYodaComparison"/>
  <rule ref="SlevomatCodingStandard.PHP.ShortList"/>
  <rule ref="SlevomatCodingStandard.PHP.TypeCast"/>
  <rule ref="SlevomatCodingStandard.TypeHints.LongTypeHints"/>
  <rule ref="SlevomatCodingStandard.ControlStructures.NewWithParentheses"/>
  <rule ref="SlevomatCodingStandard.Arrays.TrailingArrayComma"/>
  <rule ref="SlevomatCodingStandard.Arrays.MultiLineArrayEndBracketPlacement"/>
  <rule ref="SlevomatCodingStandard.Namespaces.UselessAlias"/>
  <rule ref="SlevomatCodingStandard.Namespaces.UnusedUses"/>
  <rule ref="SlevomatCodingStandard.TypeHints.DeclareStrictTypes">
    <properties>
      <property name="spacesCountAroundEqualsSign" value="0"/>
    </properties>
  </rule>
  <rule ref="SlevomatCodingStandard.Namespaces.AlphabeticallySortedUses"/>
  <rule ref="SlevomatCodingStandard.TypeHints.PropertyTypeHint">
    <exclude ref="SlevomatCodingStandard.TypeHints.PropertyTypeHint.MissingTraversableTypeHintSpecification"/>
  </rule>
</ruleset>