Checkout Config
checks:
ruby:
code_rating: true
duplicate_code: true
style_while_until_do: true
style_variable_name:
enforced_style: snake_case
style_variable_interpolation: true
style_unneeded_percent_x: true
style_unneeded_percent_q: true
style_unless_else: true
style_trailing_whitespace: true
style_tab: true
style_space_before_semicolon: true
style_space_before_modifier_keyword: true
style_space_before_comment: true
style_space_before_block_braces:
enforced_style: space
style_space_around_equals_in_parameter_default:
enforced_style: space
style_space_after_semicolon: true
style_space_after_not: true
style_space_after_method_name: true
style_space_after_control_keyword: true
style_space_after_comma: true
style_space_after_colon: true
style_single_space_before_first_arg: true
style_signal_exception:
enforced_style: semantic
style_single_line_block_params: true
style_self_assignment: true
style_rescue_modifier: true
style_redundant_return:
allow_multiple_return_values: false
style_redundant_self: true
style_redundant_begin: true
style_proc: true
style_predicate_name: true
style_perl_backrefs: true
style_percent_literal_delimiters: true
style_parentheses_around_condition:
allow_safe_assignment: true
style_parameter_lists:
max: '5'
count_keyword_args: true
style_not: true
style_non_nil_check:
include_semantic_changes: false
style_nil_comparison: true
style_nested_ternary_operator: true
style_negated_while: true
style_negated_if: true
style_module_function: true
style_method_name:
enforced_style: snake_case
style_method_def_parentheses:
enforced_style: require_parentheses
style_method_call_parentheses: true
style_leading_comment_space: true
style_indentation_width: true
style_indentation_consistency: true
style_indent_array: true
style_indent_hash:
enforced_style: consistent
style_global_vars: true
style_file_name: true
style_end_of_line: true
style_empty_literal: true
style_empty_lines_around_body: false
style_empty_lines: true
style_empty_line_between_defs:
allow_adjacent_one_line_defs: true
style_double_negation: true
style_documentation: true
style_deprecated_hash_methods: true
style_def_with_parentheses: true
style_constant_name: true
style_comment_annotation: true
style_collection_methods: true
style_class_check:
enforced_style: 'is_a?'
style_class_and_module_camel_case: true
style_block_nesting:
max: '3'
style_ascii_identifiers: true
style_align_parameters:
enforced_style: with_first_parameter
style_align_hash:
enforced_hash_rocket_style: key
enforced_colon_style: key
enforced_last_argument_hash_style: always_inspect
style_align_array: true
style_accessor_method_name: false
rails_output: true
rails_default_scope: true
lint_useless_setter_call: true
lint_useless_else_without_rescue: true
lint_useless_assignment: true
lint_useless_access_modifier: true
lint_unused_method_argument: true
lint_unused_block_argument: true
lint_unreachable_code: true
lint_underscore_prefixed_variable_name: true
lint_string_conversion_in_interpolation: true
lint_space_before_first_arg: true
lint_shadowing_outer_local_variable: true
lint_rescue_exception: true
lint_parentheses_as_grouped_expression: true
lint_literal_in_interpolation: true
lint_literal_in_condition: true
lint_invalid_character_literal: true
lint_handle_exceptions: true
lint_eval: true
lint_ensure_return: true
lint_end_in_method: true
lint_empty_interpolation: true
lint_empty_ensure: true
lint_else_layout: true
lint_deprecated_class_methods: true
lint_debugger: true
lint_condition_position: true
lint_assignment_in_condition: true
lint_ambiguous_regexp_literal: true
lint_ambiguous_operator: true
style_line_length:
max: '120'
allow_uri: true
build:
tests:
override:
-
command: 'bundle exec rake test'
environment:
'SCRUTINIZER_CC_FILE': 'my-coverage'
coverage:
file: 'my-coverage'
format: 'rb-cc'
Repository Config
checks:
ruby:
code_rating: true
duplicate_code: true
style_while_until_do: true
style_variable_name:
enforced_style: snake_case
style_variable_interpolation: true
style_unneeded_percent_x: true
style_unneeded_percent_q: true
style_unless_else: true
style_trailing_whitespace: true
style_tab: true
style_space_before_semicolon: true
style_space_before_modifier_keyword: true
style_space_before_comment: true
style_space_before_block_braces:
enforced_style: space
style_space_around_equals_in_parameter_default:
enforced_style: space
style_space_after_semicolon: true
style_space_after_not: true
style_space_after_method_name: true
style_space_after_control_keyword: true
style_space_after_comma: true
style_space_after_colon: true
style_single_space_before_first_arg: true
style_signal_exception:
enforced_style: semantic
style_single_line_block_params: true
style_self_assignment: true
style_rescue_modifier: true
style_redundant_return:
allow_multiple_return_values: false
style_redundant_self: true
style_redundant_begin: true
style_proc: true
style_predicate_name: true
style_perl_backrefs: true
style_percent_literal_delimiters: true
style_parentheses_around_condition:
allow_safe_assignment: true
style_parameter_lists:
max: '5'
count_keyword_args: true
style_not: true
style_non_nil_check:
include_semantic_changes: false
style_nil_comparison: true
style_nested_ternary_operator: true
style_negated_while: true
style_negated_if: true
style_module_function: true
style_method_name:
enforced_style: snake_case
style_method_def_parentheses:
enforced_style: require_parentheses
style_method_call_parentheses: true
style_leading_comment_space: true
style_indentation_width: true
style_indentation_consistency: true
style_indent_array: true
style_indent_hash:
enforced_style: consistent
style_global_vars: true
style_file_name: true
style_end_of_line: true
style_empty_literal: true
style_empty_lines_around_body: false
style_empty_lines: true
style_empty_line_between_defs:
allow_adjacent_one_line_defs: true
style_double_negation: true
style_documentation: true
style_deprecated_hash_methods: true
style_def_with_parentheses: true
style_constant_name: true
style_comment_annotation: true
style_collection_methods: true
style_class_check:
enforced_style: 'is_a?'
style_class_and_module_camel_case: true
style_block_nesting:
max: '3'
style_ascii_identifiers: true
style_align_parameters:
enforced_style: with_first_parameter
style_align_hash:
enforced_hash_rocket_style: key
enforced_colon_style: key
enforced_last_argument_hash_style: always_inspect
style_align_array: true
style_accessor_method_name: false
rails_output: true
rails_default_scope: true
lint_useless_setter_call: true
lint_useless_else_without_rescue: true
lint_useless_assignment: true
lint_useless_access_modifier: true
lint_unused_method_argument: true
lint_unused_block_argument: true
lint_unreachable_code: true
lint_underscore_prefixed_variable_name: true
lint_string_conversion_in_interpolation: true
lint_space_before_first_arg: true
lint_shadowing_outer_local_variable: true
lint_rescue_exception: true
lint_parentheses_as_grouped_expression: true
lint_literal_in_interpolation: true
lint_literal_in_condition: true
lint_invalid_character_literal: true
lint_handle_exceptions: true
lint_eval: true
lint_ensure_return: true
lint_end_in_method: true
lint_empty_interpolation: true
lint_empty_ensure: true
lint_else_layout: true
lint_deprecated_class_methods: true
lint_debugger: true
lint_condition_position: true
lint_assignment_in_condition: true
lint_ambiguous_regexp_literal: true
lint_ambiguous_operator: true
style_line_length:
max: '120'
allow_uri: true
Global Config
# language: php
before_commands:
- "composer install --no-dev --prefer-source"
checks:
php:
verify_property_names: true
verify_argument_usable_as_reference: true
verify_access_scope_valid: true
variable_existence: true
useless_calls: true
use_statement_alias_conflict: true
use_self_instead_of_fqcn: true
uppercase_constants: true
unused_variables: true
unused_properties: true
unused_parameters: true
unused_methods: true
unreachable_code: true
too_many_arguments: true
symfony_request_injection: true
switch_fallthrough_commented: true
spacing_of_function_arguments: true
spacing_around_non_conditional_operators: true
spacing_around_conditional_operators: true
space_after_cast: true
single_namespace_per_use: true
simplify_boolean_return: true
side_effects_or_types: true
security_vulnerabilities: true
scope_indentation:
spaces_per_level: '4'
return_doc_comments: true
return_doc_comment_if_not_inferrable: true
require_scope_for_properties: true
require_scope_for_methods: true
require_php_tag_first: true
require_braces_around_control_structures: true
remove_trailing_whitespace: true
remove_php_closing_tag: true
psr2_switch_declaration: true
psr2_control_structure_declaration: true
psr2_class_declaration: true
property_assignments: true
prefer_unix_line_ending: true
prefer_sapi_constant: true
precedence_mistakes: true
precedence_in_conditions: true
phpunit_assertions: true
php5_style_constructor: true
parameter_non_unique: true
parameter_doc_comments: true
param_doc_comment_if_not_inferrable: true
overriding_private_members: true
optional_parameters_at_the_end: true
one_class_per_file: true
no_unnecessary_if: true
no_unnecessary_function_call_in_for_loop: true
no_unnecessary_final_modifier: true
no_underscore_prefix_in_properties: true
no_underscore_prefix_in_methods: true
no_trait_type_hints: true
no_trailing_whitespace: true
no_space_inside_cast_operator: true
no_space_before_semicolon: true
no_short_open_tag: true
no_short_method_names:
minimum: '3'
no_property_on_interface: true
no_non_implemented_abstract_methods: true
no_mixed_inline_html: true
no_long_variable_names:
maximum: '40'
no_goto: true
no_global_keyword: true
no_exit: true
no_eval: true
no_empty_statements: true
no_else_if_statements: true
no_duplicate_arguments: true
no_debug_code: true
newline_at_end_of_file: true
naming_conventions:
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)'
more_specific_types_in_doc_comments: true
missing_arguments: true
method_calls_on_non_object: true
lowercase_php_keywords: true
lowercase_basic_constants: true
line_length:
max_length: '120'
instanceof_class_exists: true
function_in_camel_caps: true
function_body_start_on_new_line: true
foreach_usable_as_reference: true
foreach_traversable: true
fix_use_statements:
remove_unused: true
preserve_multiple: false
preserve_blanklines: false
order_alphabetically: true
fix_php_opening_tag: true
fix_linefeed: true
fix_line_ending: true
fix_identation_4spaces: true
fix_doc_comments: true
ensure_lower_case_builtin_functions: true
encourage_single_quotes: true
encourage_shallow_comparison: true
encourage_postdec_operator: true
duplication: true
deprecated_code_usage: true
deadlock_detection_in_loops: true
code_rating: true
closure_use_not_conflicting: true
closure_use_modifiable: true
classes_in_camel_caps: true
catch_class_exists: true
blank_line_after_namespace_declaration: true
avoid_useless_overridden_methods: true
avoid_usage_of_logical_operators: true
avoid_unnecessary_concatenation: true
avoid_tab_indentation: true
avoid_superglobals: true
avoid_perl_style_comments: true
avoid_multiple_statements_on_same_line: true
avoid_length_functions_in_loops: true
avoid_fixme_comments: true
avoid_duplicate_types: true
avoid_corrupting_byteorder_marks: true
avoid_conflicting_incrementers: true
avoid_closing_tag: true
avoid_aliased_php_functions: true
assignment_of_null_return: true
argument_type_checks: true
align_assignments: true
tools:
external_code_coverage:
timeout: 600
php_sim: false
php_code_coverage:
enabled: true
php_code_sniffer:
enabled: true
config:
standard: PSR2
filter:
paths: ["src/*", "tests/*"]
php_cs_fixer:
enabled: true
config:
level: all
filter:
paths: ["src/*", "tests/*"]
php_cpd:
enabled: true
excluded_dirs: ["docs", "tests", "vendor"]
php_loc:
enabled: true
excluded_dirs: ["docs", "tests", "vendor"]
php_mess_detector:
config:
code_size_rules:
cyclomatic_complexity: true
unused_code_rules:
unused_local_variable: true
unused_private_method: true
unused_formal_parameter: true
php_pdepend:
enabled: true
excluded_dirs: ["docs", "tests", "vendor"]
php_analyzer:
enabled: true
filter:
paths: ["src/*", "tests/*"]
sensiolabs_security_checker: true
php_hhvm:
enabled: true
filter:
paths: ["src/*", "tests/*"]
filter:
excluded_paths:
- 'tests/*'