Style/BlockDelimiters: Flag `it {` in multi-line use
What does this MR do and why?
By default, the following use of it
in multi-line was allowed:
it {
...
}
it("works") {
...
}
This does not align well with other methods like specify
where the
following use is flagged:
specify {
...
}
With this MRs we now also flag multi-line it {
for consistency reasons.
Examples
# bad
it {
multi
.line
.code
}
# good
it do
multi
.line
.code
end
# also/still good
proc {
multi
.line
.code
}
lambda {
multi
.line
.code
}
gitlab-org/gitlab
Offenses in 32005 files inspected, 91 offenses detected, 91 offenses autocorrectable
Offenses
Offenses:
ee/spec/finders/security/related_pipelines_finder_spec.rb:52:10: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
ee/spec/finders/security/scan_result_policies/findings_finder_spec.rb:62:12: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
ee/spec/finders/security/scan_result_policies/findings_finder_spec.rb:80:12: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
ee/spec/helpers/compliance_management/compliance_framework/group_settings_helper_spec.rb:60:10: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
ee/spec/helpers/ee/labels_helper_spec.rb:106:10: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
ee/spec/helpers/ee/labels_helper_spec.rb:119:10: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
ee/spec/helpers/ee/projects/security/api_fuzzing_configuration_helper_spec.rb:29:10: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
ee/spec/helpers/ee/projects/security/api_fuzzing_configuration_helper_spec.rb:48:10: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
ee/spec/helpers/ee/projects/security/dast_configuration_helper_spec.rb:33:12: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
ee/spec/helpers/ee/projects/security/dast_configuration_helper_spec.rb:53:12: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
ee/spec/helpers/ee/projects/security/dast_configuration_helper_spec.rb:99:14: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
ee/spec/helpers/ee/projects/security/dast_configuration_helper_spec.rb:125:14: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
ee/spec/helpers/ee/projects/security/dast_configuration_helper_spec.rb:143:12: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
ee/spec/helpers/ee/projects/security/sast_configuration_helper_spec.rb:15:8: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
ee/spec/lib/gitlab/auth/smartcard/san_extension_spec.rb:54:12: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
ee/spec/lib/gitlab/package_metadata/connector/base_data_file_spec.rb:70:12: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
ee/spec/lib/gitlab/package_metadata/connector/base_data_file_spec.rb:86:14: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
ee/spec/lib/gitlab/package_metadata/connector/gcp_spec.rb:48:12: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
ee/spec/lib/gitlab/package_metadata/connector/gcp_spec.rb:66:14: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
ee/spec/lib/gitlab/package_metadata/connector/gcp_spec.rb:89:14: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
ee/spec/lib/gitlab/package_metadata/connector/gcp_spec.rb:106:14: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
ee/spec/lib/gitlab/package_metadata/connector/gcp_spec.rb:123:14: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
ee/spec/lib/gitlab/package_metadata/connector/offline_spec.rb:29:10: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
ee/spec/lib/gitlab/package_metadata/connector/offline_spec.rb:42:12: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
ee/spec/lib/gitlab/package_metadata/connector/offline_spec.rb:54:12: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
ee/spec/lib/gitlab/package_metadata/connector/offline_spec.rb:66:12: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
ee/spec/models/audit_events/streaming/instance_event_type_filter_spec.rb:17:8: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
ee/spec/models/ee/design_management/repository_spec.rb:9:8: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
ee/spec/models/ee/projects/wiki_repository_spec.rb:7:8: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
ee/spec/models/geo/design_management_repository_state_spec.rb:8:6: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
ee/spec/models/geo/wiki_repository_state_spec.rb:9:8: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
ee/spec/models/namespace_setting_spec.rb:15:8: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
ee/spec/models/namespace_setting_spec.rb:22:8: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
ee/spec/models/protected_environments/deploy_access_level_spec.rb:6:8: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
ee/spec/models/security/finding_spec.rb:21:8: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
ee/spec/models/security/finding_spec.rb:246:8: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
ee/spec/models/vulnerabilities/feedback_spec.rb:6:6: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
ee/spec/services/gitlab_subscriptions/reconciliations/calculate_seat_count_data_service_spec.rb:206:14: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
ee/spec/services/package_metadata/compressed_package_data_object_spec.rb:19:10: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
ee/spec/services/package_metadata/data_object_fabricator_spec.rb:19:12: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
ee/spec/services/package_metadata/data_object_fabricator_spec.rb:44:12: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
ee/spec/services/security/scanned_resources_counting_service_spec.rb:26:10: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
ee/spec/services/security/scanned_resources_counting_service_spec.rb:37:10: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
ee/spec/services/security/scanned_resources_counting_service_spec.rb:48:8: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
ee/spec/services/security/scanned_resources_service_spec.rb:56:8: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
ee/spec/services/security/scanned_resources_service_spec.rb:66:8: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
ee/spec/services/security/vulnerability_counting_service_spec.rb:65:10: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
ee/spec/services/security/vulnerability_counting_service_spec.rb:76:10: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
ee/spec/services/security/vulnerability_counting_service_spec.rb:87:8: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
spec/helpers/abuse_reports_helper_spec.rb:9:8: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
spec/helpers/admin/user_actions_helper_spec.rb:72:10: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
spec/helpers/merge_requests_helper_spec.rb:87:10: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
spec/helpers/projects/cluster_agents_helper_spec.rb:28:8: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
spec/lib/gitlab/ci/build/rules_spec.rb:190:12: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
spec/lib/gitlab/ci/build/rules_spec.rb:207:12: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
spec/lib/gitlab/ci/build/rules_spec.rb:222:12: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
spec/lib/gitlab/ci/build/rules_spec.rb:237:12: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
spec/lib/gitlab/ci/build/rules_spec.rb:259:16: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
spec/lib/gitlab/ci/build/rules_spec.rb:271:16: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
spec/lib/gitlab/ci/build/rules_spec.rb:279:16: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
spec/lib/gitlab/ci/build/rules_spec.rb:294:16: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
spec/lib/gitlab/ci/config/external/file/artifact_spec.rb:204:8: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
spec/lib/gitlab/ci/config/external/file/artifact_spec.rb:221:10: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
spec/lib/gitlab/ci/config/external/file/base_spec.rb:210:8: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
spec/lib/gitlab/ci/config/external/file/local_spec.rb:266:8: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
spec/lib/gitlab/ci/config/external/file/project_spec.rb:250:8: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
spec/lib/gitlab/ci/config/external/file/project_spec.rb:279:10: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
spec/lib/gitlab/ci/config/external/file/remote_spec.rb:223:8: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
spec/lib/gitlab/ci/config/external/file/template_spec.rb:121:8: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
spec/lib/gitlab/data_builder/build_spec.rb:39:8: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
spec/lib/gitlab/git/wraps_gitaly_errors_spec.rb:73:83: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it("wraps in a Gitlab::Git::ResourceExhaustedError with default message") {
^
spec/lib/gitlab/regex_spec.rb:80:8: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
spec/lib/gitlab/regex_spec.rb:122:8: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
spec/lib/release_highlights/validator/entry_spec.rb:36:10: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
spec/models/abuse_report_spec.rb:67:8: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
spec/models/abuse_report_spec.rb:73:8: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
spec/models/abuse_report_spec.rb:96:10: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
spec/models/ci/group_variable_spec.rb:63:8: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
spec/models/ci/group_variable_spec.rb:68:8: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
spec/models/environment_status_spec.rb:40:10: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
spec/models/hooks/web_hook_spec.rb:134:12: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
spec/models/hooks/web_hook_spec.rb:150:12: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
spec/models/hooks/web_hook_spec.rb:159:12: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
spec/models/hooks/web_hook_spec.rb:184:12: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
spec/models/incident_management/timeline_event_tag_spec.rb:10:8: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
spec/models/users/in_product_marketing_email_spec.rb:22:10: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
spec/models/users/in_product_marketing_email_spec.rb:35:10: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
spec/models/users/phone_number_validation_spec.rb:14:6: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
spec/models/users/project_callout_spec.rb:20:8: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
spec/presenters/tree_entry_presenter_spec.rb:31:10: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
spec/requests/jira_connect/subscriptions_controller_spec.rb:37:10: C: [Correctable] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
it {
^
32005 files inspected, 91 offenses detected, 91 offenses autocorrectable
Prior discussion
Scope this MR
We still allow proc
and lambda
to use {
in multi-line blocks but this could be changed later if we wanted to.
The main reason it's not changed yet is iteration and the fact that Style/Lambda
is configured to use EnforcedStyle: literal
which allows the use of proc {
/lambda {
now.
Edited by Peter Leitzen