filter:
    excluded_paths:
        - 'vendor/*'
        - 'tests/*'
before_commands:
    - 'composer --prefer-source --dev install'
    - 'cp phpunit.xml.dist phpunit.xml'
tools:
    php_mess_detector:
        config:
            naming_rules: { boolean_method_name: true }
            controversial_rules: { camel_case_class_name: true, camel_case_property_name: true, camel_case_method_name: true, camel_case_parameter_name: true, camel_case_variable_name: true }
    php_analyzer:
        config:
            parameter_reference_check: { enabled: false }
            checkstyle: { enabled: true, no_trailing_whitespace: true, naming: { enabled: true, local_variable: '^[a-z][a-zA-Z0-9]*$', abstract_class_name: ^Abstract|Factory$, utility_class_name: 'Utils?$', constant_name: '^[A-Z][A-Z0-9]*(?:_[A-Z0-9]+)*$', property_name: '^[a-z][a-zA-Z0-9]*$', method_name: '^(?:[a-z]|__)[a-zA-Z0-9]*$', parameter_name: '^[a-z][a-zA-Z0-9]*$', interface_name: '^[A-Z][a-zA-Z0-9]*Interface$', type_name: '^[A-Z][a-zA-Z0-9]*$', exception_name: '^[A-Z][a-zA-Z0-9]*Exception$', isser_method_name: '^(?:is|has|should|may|supports)' } }
            unreachable_code: { enabled: true }
            check_access_control: { enabled: false }
            typo_checks: { enabled: true }
            check_variables: { enabled: true }
            suspicious_code: { enabled: false, overriding_parameter: false, overriding_closure_use: false, parameter_closure_use_conflict: false, parameter_multiple_times: false, non_existent_class_in_instanceof_check: false, non_existent_class_in_catch_clause: false, assignment_of_null_return: false, non_commented_switch_fallthrough: false, non_commented_empty_catch_block: false, overriding_private_members: false, use_statement_alias_conflict: false, precedence_in_condition_assignment: false }
            dead_assignments: { enabled: true }
            verify_php_doc_comments: { enabled: true, parameters: true, return: true, suggest_more_specific_types: true, ask_for_return_if_not_inferrable: true, ask_for_param_type_annotation: true }
            loops_must_use_braces: { enabled: true }
            check_usage_context: { enabled: true, method_call_on_non_object: { enabled: true, ignore_null_pointer: true }, foreach: { value_as_reference: true, traversable: true }, missing_argument: true, argument_type_checks: lenient }
            simplify_boolean_return: { enabled: true }
            phpunit_checks: { enabled: true }
            reflection_checks: { enabled: false }
            precedence_checks: { enabled: true, assignment_in_condition: true, comparison_of_bit_result: true }
            basic_semantic_checks: { enabled: true }
            doc_comment_fixes: { enabled: true }
            reflection_fixes: { enabled: false }
            use_statement_fixes: { enabled: true, remove_unused: true, preserve_multiple: false, order_alphabetically: false }
    php_code_sniffer:
        config:
            standard: PSR2
    sensiolabs_security_checker: true
    php_code_coverage:
        config_path: phpunit.xml.dist
    php_cpd: true
    php_loc: true
    php_pdepend: true
