From 4ba5f40fe53bbbf18533a5c7bcf7dbb8fd41a879 Mon Sep 17 00:00:00 2001 From: Peter Leitzen <pleitzen@gitlab.com> Date: Wed, 18 Jan 2023 10:55:34 +0000 Subject: [PATCH] RuboCop: Fix offenses for Performance/MethodObjectAsBlock This is part 1 of 2. --- .../performance/method_object_as_block.yml | 42 ------------------- app/controllers/concerns/metrics_dashboard.rb | 2 +- .../requires_whitelisted_monitoring_client.rb | 2 +- .../merge_requests/drafts_controller.rb | 2 +- app/finders/bulk_imports/entities_finder.rb | 6 +-- app/models/clusters/cluster.rb | 2 +- app/models/concerns/prometheus_adapter.rb | 4 +- app/models/concerns/token_authenticatable.rb | 2 +- app/models/container_repository.rb | 2 +- app/models/programming_language.rb | 2 +- .../packages/detail/package_presenter.rb | 2 +- .../atomic_processing_service.rb | 9 ++-- .../observe_histograms_service.rb | 2 +- .../concerns/users/participable_service.rb | 2 +- app/services/discussions/resolve_service.rb | 2 +- .../jira/requests/projects/list_service.rb | 4 +- .../merge_requests/refresh_service.rb | 2 +- .../debian/generate_distribution_service.rb | 2 +- .../delete_tags_service.rb | 5 ++- app/workers/gitlab/import/stuck_import_job.rb | 4 +- .../object_storage/migrate_uploads_worker.rb | 2 +- .../0_inject_enterprise_edition_module.rb | 14 +++---- ee/app/finders/security/findings_finder.rb | 14 +++---- .../vulnerabilities/scanners_resolver.rb | 2 +- .../dashboard/projects/create_service.rb | 2 +- .../ingestion/ingest_reports_service.rb | 5 ++- .../tasks/ingest_vulnerability_statistics.rb | 4 +- .../security/store_grouped_scans_service.rb | 2 +- ee/lib/ee/container_registry/client.rb | 2 +- ee/lib/ee/gitlab/ci/config_ee.rb | 4 +- ee/lib/ee/gitlab/etag_caching/router/rails.rb | 2 +- .../gitlab/ingestion/bulk_insertable_task.rb | 2 +- .../groups/participants_service_spec.rb | 4 +- lib/peek/views/detailed_view.rb | 2 +- lib/unnested_in_filters/rewriter.rb | 14 ++++--- .../email/trigger_email_notification_spec.rb | 2 +- rubocop/cop/avoid_return_from_blocks.rb | 2 +- rubocop/cop/gitlab/mark_used_feature_flags.rb | 2 +- rubocop/rubocop.rb | 2 +- tooling/lib/tooling/find_codeowners.rb | 2 +- tooling/lib/tooling/test_map_packer.rb | 4 +- tooling/quality/test_level.rb | 2 +- 42 files changed, 78 insertions(+), 113 deletions(-) diff --git a/.rubocop_todo/performance/method_object_as_block.yml b/.rubocop_todo/performance/method_object_as_block.yml index 8524376772ee5..25efdeef023e7 100644 --- a/.rubocop_todo/performance/method_object_as_block.yml +++ b/.rubocop_todo/performance/method_object_as_block.yml @@ -1,45 +1,12 @@ --- Performance/MethodObjectAsBlock: Exclude: - - 'app/controllers/concerns/metrics_dashboard.rb' - - 'app/controllers/concerns/requires_whitelisted_monitoring_client.rb' - - 'app/controllers/projects/merge_requests/drafts_controller.rb' - - 'app/finders/bulk_imports/entities_finder.rb' - - 'app/models/clusters/cluster.rb' - - 'app/models/concerns/prometheus_adapter.rb' - - 'app/models/concerns/token_authenticatable.rb' - - 'app/models/container_repository.rb' - - 'app/models/programming_language.rb' - - 'app/presenters/packages/detail/package_presenter.rb' - - 'app/services/ci/pipeline_processing/atomic_processing_service.rb' - - 'app/services/ci/prometheus_metrics/observe_histograms_service.rb' - - 'app/services/concerns/users/participable_service.rb' - - 'app/services/discussions/resolve_service.rb' - - 'app/services/jira/requests/projects/list_service.rb' - - 'app/services/merge_requests/refresh_service.rb' - - 'app/services/packages/debian/generate_distribution_service.rb' - - 'app/services/projects/container_repository/delete_tags_service.rb' - - 'app/workers/gitlab/import/stuck_import_job.rb' - - 'app/workers/object_storage/migrate_uploads_worker.rb' - - 'config/initializers/0_inject_enterprise_edition_module.rb' - - 'ee/app/finders/security/findings_finder.rb' - - 'ee/app/graphql/resolvers/vulnerabilities/scanners_resolver.rb' - - 'ee/app/services/dashboard/projects/create_service.rb' - - 'ee/app/services/security/ingestion/ingest_reports_service.rb' - - 'ee/app/services/security/ingestion/tasks/ingest_vulnerability_statistics.rb' - - 'ee/app/services/security/store_grouped_scans_service.rb' - - 'ee/lib/ee/container_registry/client.rb' - - 'ee/lib/ee/gitlab/ci/config_ee.rb' - - 'ee/lib/ee/gitlab/etag_caching/router/rails.rb' - - 'ee/lib/gitlab/ingestion/bulk_insertable_task.rb' - - 'ee/spec/services/groups/participants_service_spec.rb' - 'lib/api/helpers/packages/conan/api_helpers.rb' - 'lib/bulk_imports/pipeline.rb' - 'lib/container_registry/base_client.rb' - 'lib/container_registry/gitlab_api_client.rb' - 'lib/gitlab/ci/build/rules/rule.rb' - 'lib/gitlab/ci/build/rules/rule/clause/exists.rb' - - 'lib/gitlab/ci/config/external/mapper.rb' - 'lib/gitlab/ci/config/yaml/tags/resolver.rb' - 'lib/gitlab/ci/pipeline/chain/create_deployments.rb' - 'lib/gitlab/ci/pipeline/chain/ensure_environments.rb' @@ -72,12 +39,6 @@ Performance/MethodObjectAsBlock: - 'lib/gitlab/sidekiq_queue.rb' - 'lib/gitlab/uploads/migration_helper.rb' - 'lib/gitlab/utils.rb' - - 'lib/peek/views/detailed_view.rb' - - 'lib/unnested_in_filters/rewriter.rb' - - 'qa/qa/specs/features/browser_ui/2_plan/email/trigger_email_notification_spec.rb' - - 'rubocop/cop/avoid_return_from_blocks.rb' - - 'rubocop/cop/gitlab/mark_used_feature_flags.rb' - - 'rubocop/rubocop.rb' - 'spec/graphql/resolvers/concerns/caching_array_resolver_spec.rb' - 'spec/lib/api/entities/merge_request_basic_spec.rb' - 'spec/lib/gitlab/import_export/import_test_coverage_spec.rb' @@ -87,6 +48,3 @@ Performance/MethodObjectAsBlock: - 'spec/support/helpers/migrations_helpers.rb' - 'spec/support/shared_examples/models/active_record_enum_shared_examples.rb' - 'spec/support_specs/helpers/stub_feature_flags_spec.rb' - - 'tooling/lib/tooling/find_codeowners.rb' - - 'tooling/lib/tooling/test_map_packer.rb' - - 'tooling/quality/test_level.rb' diff --git a/app/controllers/concerns/metrics_dashboard.rb b/app/controllers/concerns/metrics_dashboard.rb index d4e8e95e016c6..338c3af235b05 100644 --- a/app/controllers/concerns/metrics_dashboard.rb +++ b/app/controllers/concerns/metrics_dashboard.rb @@ -37,7 +37,7 @@ def metrics_dashboard def all_dashboards dashboard_finder .find_all_paths(project_for_dashboard) - .map(&method(:amend_dashboard)) + .map { |dashboard| amend_dashboard(dashboard) } end def amend_dashboard(dashboard) diff --git a/app/controllers/concerns/requires_whitelisted_monitoring_client.rb b/app/controllers/concerns/requires_whitelisted_monitoring_client.rb index e98c1a308876d..ef3d281589aa6 100644 --- a/app/controllers/concerns/requires_whitelisted_monitoring_client.rb +++ b/app/controllers/concerns/requires_whitelisted_monitoring_client.rb @@ -22,7 +22,7 @@ def client_ip_whitelisted? end def ip_whitelist - @ip_whitelist ||= Settings.monitoring.ip_whitelist.map(&IPAddr.method(:new)) + @ip_whitelist ||= Settings.monitoring.ip_whitelist.map { |ip| IPAddr.new(ip) } end def valid_token? diff --git a/app/controllers/projects/merge_requests/drafts_controller.rb b/app/controllers/projects/merge_requests/drafts_controller.rb index 74bb3ad1a63a6..fbf9348df15f2 100644 --- a/app/controllers/projects/merge_requests/drafts_controller.rb +++ b/app/controllers/projects/merge_requests/drafts_controller.rb @@ -145,7 +145,7 @@ def prepare_notes_for_rendering(notes) user_ids = notes.map(&:author_id) project.team.max_member_access_for_user_ids(user_ids) - notes.map(&method(:render_draft_note)) + notes.map { |note| render_draft_note(note) } end def render_draft_note(note) diff --git a/app/finders/bulk_imports/entities_finder.rb b/app/finders/bulk_imports/entities_finder.rb index 78446f104d03d..2b6507cc7b5c9 100644 --- a/app/finders/bulk_imports/entities_finder.rb +++ b/app/finders/bulk_imports/entities_finder.rb @@ -12,9 +12,9 @@ def execute ::BulkImports::Entity .preload(:failures) # rubocop: disable CodeReuse/ActiveRecord .by_user_id(user.id) - .then(&method(:filter_by_bulk_import)) - .then(&method(:filter_by_status)) - .then(&method(:sort)) + .then { |entities| filter_by_bulk_import(entities) } + .then { |entities| filter_by_status(entities) } + .then { |entities| sort(entities) } end private diff --git a/app/models/clusters/cluster.rb b/app/models/clusters/cluster.rb index 25d41d68b9e91..af6cafc4a621f 100644 --- a/app/models/clusters/cluster.rb +++ b/app/models/clusters/cluster.rb @@ -245,7 +245,7 @@ def calculate_reactive_cache end def persisted_applications - APPLICATIONS_ASSOCIATIONS.map(&method(:public_send)).compact + APPLICATIONS_ASSOCIATIONS.filter_map { |association_name| public_send(association_name) } # rubocop:disable GitlabSecurity/PublicSend end def applications diff --git a/app/models/concerns/prometheus_adapter.rb b/app/models/concerns/prometheus_adapter.rb index df29701711924..b85ac9ad4a6e1 100644 --- a/app/models/concerns/prometheus_adapter.rb +++ b/app/models/concerns/prometheus_adapter.rb @@ -49,7 +49,9 @@ def query(query_name, *args) query_class = query_klass_for(query_name) query_args = build_query_args(*args) - with_reactive_cache(query_class.name, *query_args, &query_class.method(:transform_reactive_result)) + with_reactive_cache(query_class.name, *query_args) do |result| + query_class.transform_reactive_result(result) + end end # Cache metrics for specific environment diff --git a/app/models/concerns/token_authenticatable.rb b/app/models/concerns/token_authenticatable.rb index d91ec161b8421..cc3e8f174b3c5 100644 --- a/app/models/concerns/token_authenticatable.rb +++ b/app/models/concerns/token_authenticatable.rb @@ -86,7 +86,7 @@ def add_authentication_token_field(token_field, options = {}) def token_authenticatable_module @token_authenticatable_module ||= - const_set(:TokenAuthenticatable, Module.new).tap(&method(:include)) + const_set(:TokenAuthenticatable, Module.new).tap { |mod| include mod } end end end diff --git a/app/models/container_repository.rb b/app/models/container_repository.rb index db0fcd915b39e..a1079abe5fd6d 100644 --- a/app/models/container_repository.rb +++ b/app/models/container_repository.rb @@ -497,7 +497,7 @@ def delete_tags! digests = tags.map { |tag| tag.digest }.compact.to_set - digests.map(&method(:delete_tag_by_digest)).all? + digests.map { |digest| delete_tag_by_digest(digest) }.all? end def delete_tag_by_digest(digest) diff --git a/app/models/programming_language.rb b/app/models/programming_language.rb index 4156c6725183d..e3693046423a5 100644 --- a/app/models/programming_language.rb +++ b/app/models/programming_language.rb @@ -7,7 +7,7 @@ class ProgrammingLanguage < ApplicationRecord # Returns all programming languages which match any of the given names (case # insensitively). scope :with_name_case_insensitive, ->(*names) do - sanitized_names = names.map(&method(:sanitize_sql_like)) + sanitized_names = names.map { |name| sanitize_sql_like(name) } where(arel_table[:name].matches_any(sanitized_names)) end diff --git a/app/presenters/packages/detail/package_presenter.rb b/app/presenters/packages/detail/package_presenter.rb index b82b558f0cd0d..37d144d9e98a9 100644 --- a/app/presenters/packages/detail/package_presenter.rb +++ b/app/presenters/packages/detail/package_presenter.rb @@ -29,7 +29,7 @@ def detail_view package_detail[:nuget_metadatum] = @package.nuget_metadatum if @package.nuget_metadatum package_detail[:composer_metadatum] = @package.composer_metadatum if @package.composer_metadatum package_detail[:conan_metadatum] = @package.conan_metadatum if @package.conan_metadatum - package_detail[:dependency_links] = @package.dependency_links.map(&method(:build_dependency_links)) + package_detail[:dependency_links] = @package.dependency_links.map { |link| build_dependency_links(link) } package_detail[:pipeline] = build_pipeline_info(@package.pipeline) if @package.pipeline package_detail[:pipelines] = build_pipeline_infos(@package.pipelines) if @package.pipelines.present? diff --git a/app/services/ci/pipeline_processing/atomic_processing_service.rb b/app/services/ci/pipeline_processing/atomic_processing_service.rb index 508d9c3f2e1b1..2b8eb104be5b6 100644 --- a/app/services/ci/pipeline_processing/atomic_processing_service.rb +++ b/app/services/ci/pipeline_processing/atomic_processing_service.rb @@ -42,13 +42,14 @@ def process! end def update_stages! - pipeline.stages.ordered.each(&method(:update_stage!)) + pipeline.stages.ordered.each { |stage| update_stage!(stage) } end def update_stage!(stage) # Update processables for a given stage in bulk/slices - ids = @collection.created_processable_ids_for_stage_position(stage.position) - ids.in_groups_of(BATCH_SIZE, false, &method(:update_processables!)) + @collection + .created_processable_ids_for_stage_position(stage.position) + .in_groups_of(BATCH_SIZE, false) { |ids| update_processables!(ids) } status = @collection.status_for_stage_position(stage.position) stage.set_status(status) @@ -62,7 +63,7 @@ def update_processables!(ids) .ordered_by_stage .select_with_aggregated_needs(project) - created_processables.each(&method(:update_processable!)) + created_processables.each { |processable| update_processable!(processable) } end def update_pipeline! diff --git a/app/services/ci/prometheus_metrics/observe_histograms_service.rb b/app/services/ci/prometheus_metrics/observe_histograms_service.rb index 6bd3d2121ba97..10b3d61247be0 100644 --- a/app/services/ci/prometheus_metrics/observe_histograms_service.rb +++ b/app/services/ci/prometheus_metrics/observe_histograms_service.rb @@ -27,7 +27,7 @@ def initialize(project, params) def execute params .fetch(:histograms, []) - .each(&method(:observe)) + .each { |data| observe(data) } ServiceResponse.success(http_status: :created) end diff --git a/app/services/concerns/users/participable_service.rb b/app/services/concerns/users/participable_service.rb index 281b25080906c..1a03b444b6878 100644 --- a/app/services/concerns/users/participable_service.rb +++ b/app/services/concerns/users/participable_service.rb @@ -38,7 +38,7 @@ def groups end def render_participants_as_hash(participants) - participants.map(&method(:participant_as_hash)) + participants.map { |participant| participant_as_hash(participant) } end def participant_as_hash(participant) diff --git a/app/services/discussions/resolve_service.rb b/app/services/discussions/resolve_service.rb index 54fc452ac8584..20b4ec0921f38 100644 --- a/app/services/discussions/resolve_service.rb +++ b/app/services/discussions/resolve_service.rb @@ -16,7 +16,7 @@ def initialize(project, user = nil, params = {}) end def execute - discussions.each(&method(:resolve_discussion)) + discussions.each { |discussion| resolve_discussion(discussion) } after_resolve_cleanup end diff --git a/app/services/jira/requests/projects/list_service.rb b/app/services/jira/requests/projects/list_service.rb index ac9e9bf0be9f2..09cab3c659bb3 100644 --- a/app/services/jira/requests/projects/list_service.rb +++ b/app/services/jira/requests/projects/list_service.rb @@ -29,7 +29,9 @@ def build_service_response(response) end def map_projects(response) - response.map { |v| JIRA::Resource::Project.build(client, v) }.select(&method(:match_query?)) + response + .map { |v| JIRA::Resource::Project.build(client, v) } + .select { |jira_project| match_query?(jira_project) } end def match_query?(jira_project) diff --git a/app/services/merge_requests/refresh_service.rb b/app/services/merge_requests/refresh_service.rb index ce49d5dd43cae..6599b4732ff69 100644 --- a/app/services/merge_requests/refresh_service.rb +++ b/app/services/merge_requests/refresh_service.rb @@ -16,7 +16,7 @@ def execute(oldrev, newrev, ref) def refresh_merge_requests! # n + 1: https://gitlab.com/gitlab-org/gitlab-foss/issues/60289 - Gitlab::GitalyClient.allow_n_plus_1_calls(&method(:find_new_commits)) + Gitlab::GitalyClient.allow_n_plus_1_calls { find_new_commits } # Be sure to close outstanding MRs before reloading them to avoid generating an # empty diff during a manual merge diff --git a/app/services/packages/debian/generate_distribution_service.rb b/app/services/packages/debian/generate_distribution_service.rb index 9b313202400fc..faac3da023e84 100644 --- a/app/services/packages/debian/generate_distribution_service.rb +++ b/app/services/packages/debian/generate_distribution_service.rb @@ -106,7 +106,7 @@ def generate_component_file(component, component_file_type, architecture, packag .with_debian_architecture_name(architecture&.name) .with_debian_file_type(package_file_type) .find_each - .map(&method(:package_stanza_from_fields)) + .map { |package_file| package_stanza_from_fields(package_file) } reuse_or_create_component_file(component, component_file_type, architecture, paragraphs.join("\n")) end diff --git a/app/services/projects/container_repository/delete_tags_service.rb b/app/services/projects/container_repository/delete_tags_service.rb index a3e533c670e6a..9378bb313605a 100644 --- a/app/services/projects/container_repository/delete_tags_service.rb +++ b/app/services/projects/container_repository/delete_tags_service.rb @@ -22,8 +22,9 @@ def execute(container_repository) private def delete_tags - delete_service.execute - .tap(&method(:log_response)) + delete_service + .execute + .tap { |response| log_response(response) } end def delete_service diff --git a/app/workers/gitlab/import/stuck_import_job.rb b/app/workers/gitlab/import/stuck_import_job.rb index efbea7d8133b4..7278106efb991 100644 --- a/app/workers/gitlab/import/stuck_import_job.rb +++ b/app/workers/gitlab/import/stuck_import_job.rb @@ -37,7 +37,7 @@ def track_metrics(with_jid_count, without_jid_count) def mark_imports_without_jid_as_failed! enqueued_import_states_without_jid - .each(&method(:mark_as_failed)) + .each { |import_state| mark_as_failed(import_state) } .size end @@ -61,7 +61,7 @@ def mark_imports_with_jid_as_failed! ) completed_import_states - .each(&method(:mark_as_failed)) + .each { |import_state| mark_as_failed(import_state) } .size end diff --git a/app/workers/object_storage/migrate_uploads_worker.rb b/app/workers/object_storage/migrate_uploads_worker.rb index 3e681c3f111f0..3fe4231bb55fd 100644 --- a/app/workers/object_storage/migrate_uploads_worker.rb +++ b/app/workers/object_storage/migrate_uploads_worker.rb @@ -99,7 +99,7 @@ def retrieve_applicable_args!(args) end def migrate(uploads) - uploads.map(&method(:process_upload)) + uploads.map { |upload| process_upload(upload) } end def process_upload(upload) diff --git a/config/initializers/0_inject_enterprise_edition_module.rb b/config/initializers/0_inject_enterprise_edition_module.rb index cc67e384d83f1..b7e204d55b214 100644 --- a/config/initializers/0_inject_enterprise_edition_module.rb +++ b/config/initializers/0_inject_enterprise_edition_module.rb @@ -10,17 +10,15 @@ def prepend_mod_with(constant_name, namespace: Object, with_descendants: false) end def extend_mod_with(constant_name, namespace: Object) - each_extension_for( - constant_name, - namespace, - &method(:extend)) + each_extension_for(constant_name, namespace) do |constant| + extend constant + end end def include_mod_with(constant_name, namespace: Object) - each_extension_for( - constant_name, - namespace, - &method(:include)) + each_extension_for(constant_name, namespace) do |constant| + include constant + end end def prepend_mod(with_descendants: false) diff --git a/ee/app/finders/security/findings_finder.rb b/ee/app/finders/security/findings_finder.rb index 61b6cc7288a92..8c12d51c82a5d 100644 --- a/ee/app/finders/security/findings_finder.rb +++ b/ee/app/finders/security/findings_finder.rb @@ -44,7 +44,7 @@ def execute delegate :project, :has_security_findings?, to: :pipeline, private: true def findings - security_findings.map(&method(:build_vulnerability_finding)) + security_findings.map { |finding| build_vulnerability_finding(finding) } end def report_finding_for(security_finding) @@ -102,12 +102,12 @@ def all_security_findings .latest .page(page) .per(per_page) - .then(&method(:by_uuid)) - .then(&method(:by_confidence_levels)) - .then(&method(:by_report_types)) - .then(&method(:by_severity_levels)) - .then(&method(:by_scanner_external_ids)) - .then(&method(:by_state)) + .then { |relation| by_uuid(relation) } + .then { |relation| by_confidence_levels(relation) } + .then { |relation| by_report_types(relation) } + .then { |relation| by_severity_levels(relation) } + .then { |relation| by_scanner_external_ids(relation) } + .then { |relation| by_state(relation) } end def per_page diff --git a/ee/app/graphql/resolvers/vulnerabilities/scanners_resolver.rb b/ee/app/graphql/resolvers/vulnerabilities/scanners_resolver.rb index d1bc28b64584d..ac16ddab48e04 100644 --- a/ee/app/graphql/resolvers/vulnerabilities/scanners_resolver.rb +++ b/ee/app/graphql/resolvers/vulnerabilities/scanners_resolver.rb @@ -11,7 +11,7 @@ def resolve(**args) vulnerable .vulnerability_scanners .with_report_type - .map(&Representation::VulnerabilityScannerEntry.method(:new)) + .map { |entry| Representation::VulnerabilityScannerEntry.new(entry) } end end end diff --git a/ee/app/services/dashboard/projects/create_service.rb b/ee/app/services/dashboard/projects/create_service.rb index e59fec9b28758..e893d0abec2c0 100644 --- a/ee/app/services/dashboard/projects/create_service.rb +++ b/ee/app/services/dashboard/projects/create_service.rb @@ -64,7 +64,7 @@ def find_invalid_ids(projects_to_add, project_ids) end def add_projects(projects) - projects.partition(&method(:add_project)) + projects.partition { |project| add_project(project) } end def add_project(project) diff --git a/ee/app/services/security/ingestion/ingest_reports_service.rb b/ee/app/services/security/ingestion/ingest_reports_service.rb index 86d296261f9e8..97b7aea7d863d 100644 --- a/ee/app/services/security/ingestion/ingest_reports_service.rb +++ b/ee/app/services/security/ingestion/ingest_reports_service.rb @@ -28,8 +28,9 @@ def execute delegate :project, to: :pipeline, private: true def store_reports - latest_security_scans.flat_map(&method(:ingest)) - .then(&method(:mark_resolved_vulnerabilities)) + latest_security_scans + .flat_map { |scan| ingest(scan) } + .then { |ids| mark_resolved_vulnerabilities(ids) } end def latest_security_scans diff --git a/ee/app/services/security/ingestion/tasks/ingest_vulnerability_statistics.rb b/ee/app/services/security/ingestion/tasks/ingest_vulnerability_statistics.rb index a1452e508ed2a..ea09605da9762 100644 --- a/ee/app/services/security/ingestion/tasks/ingest_vulnerability_statistics.rb +++ b/ee/app/services/security/ingestion/tasks/ingest_vulnerability_statistics.rb @@ -67,8 +67,8 @@ def update_values end def sql_safe_severity_counts - @sql_safe_severity_counts ||= severity_counts.transform_keys(&method(:quote_column_name)) - .transform_values(&method(:quote)) + @sql_safe_severity_counts ||= severity_counts.transform_keys { |key| quote_column_name(key) } + .transform_values { |value| quote(value) } end def severity_counts diff --git a/ee/app/services/security/store_grouped_scans_service.rb b/ee/app/services/security/store_grouped_scans_service.rb index f187bee2f976e..ad0e5cea8b2b2 100644 --- a/ee/app/services/security/store_grouped_scans_service.rb +++ b/ee/app/services/security/store_grouped_scans_service.rb @@ -44,7 +44,7 @@ def report_type end def sorted_artifacts - @sorted_artifacts ||= artifacts.each(&method(:prepare_report_for)).sort do |a, b| + @sorted_artifacts ||= artifacts.each { |artifact| prepare_report_for(artifact) }.sort do |a, b| report_a = a.security_report report_b = b.security_report diff --git a/ee/lib/ee/container_registry/client.rb b/ee/lib/ee/container_registry/client.rb index ba04eccdd7e59..5840d5334073e 100644 --- a/ee/lib/ee/container_registry/client.rb +++ b/ee/lib/ee/container_registry/client.rb @@ -78,7 +78,7 @@ def get_upload_url(name, digest) def faraday_raw strong_memoize(:faraday_raw) do faraday_base do |conn| - initialize_connection(conn, options, &method(:accept_raw_manifest)) + initialize_connection(conn, options) { |connection| accept_raw_manifest(connection) } end end end diff --git a/ee/lib/ee/gitlab/ci/config_ee.rb b/ee/lib/ee/gitlab/ci/config_ee.rb index 3e7ac72903441..c08a2ddb77c8b 100644 --- a/ee/lib/ee/gitlab/ci/config_ee.rb +++ b/ee/lib/ee/gitlab/ci/config_ee.rb @@ -16,8 +16,8 @@ def rescue_errors override :build_config def build_config(config) super - .then(&method(:process_required_includes)) - .then(&method(:process_security_orchestration_policy_includes)) + .then { |config| process_required_includes(config) } + .then { |config| process_security_orchestration_policy_includes(config) } end def process_required_includes(config) diff --git a/ee/lib/ee/gitlab/etag_caching/router/rails.rb b/ee/lib/ee/gitlab/etag_caching/router/rails.rb index 23250b31d7d8b..f03c9657cfc29 100644 --- a/ee/lib/ee/gitlab/etag_caching/router/rails.rb +++ b/ee/lib/ee/gitlab/etag_caching/router/rails.rb @@ -29,7 +29,7 @@ def all_routes end def ee_routes - EE_ROUTE_DEFINITONS.map(&method(:build_rails_route)) + EE_ROUTE_DEFINITONS.map { |route_definition| build_rails_route(route_definition) } end end end diff --git a/ee/lib/gitlab/ingestion/bulk_insertable_task.rb b/ee/lib/gitlab/ingestion/bulk_insertable_task.rb index 75eedfe839ae3..71455b68745e5 100644 --- a/ee/lib/gitlab/ingestion/bulk_insertable_task.rb +++ b/ee/lib/gitlab/ingestion/bulk_insertable_task.rb @@ -93,7 +93,7 @@ def bulk_insert end def bulk_upsert - klass.bulk_upsert!(insert_objects, unique_by: unique_by, returns: uses, &method(:slice_attributes)) + klass.bulk_upsert!(insert_objects, unique_by: unique_by, returns: uses) { |attr| slice_attributes(attr) } end def after_ingest diff --git a/ee/spec/services/groups/participants_service_spec.rb b/ee/spec/services/groups/participants_service_spec.rb index 7981548ff5ca9..bda7337fb4342 100644 --- a/ee/spec/services/groups/participants_service_spec.rb +++ b/ee/spec/services/groups/participants_service_spec.rb @@ -44,7 +44,7 @@ def user_to_autocompletable(user) service.instance_variable_set(:@noteable, epic) result = service.execute(epic) - expected_users = (@users + [user]).map(&method(:user_to_autocompletable)) + expected_users = (@users + [user]).map { |user| user_to_autocompletable(user) } expect(result).to include(*expected_users) end @@ -67,7 +67,7 @@ def user_to_autocompletable(user) result = service.execute(epic) expected_users = (group.self_and_hierarchy.flat_map(&:users) + subproject.users) - .map(&method(:user_to_autocompletable)) + .map { |user| user_to_autocompletable(user) } expect(expected_users.count).to eq(5) expect(result).to include(*expected_users) diff --git a/lib/peek/views/detailed_view.rb b/lib/peek/views/detailed_view.rb index 1301c6aa6fd1a..c37c6bb8561ee 100644 --- a/lib/peek/views/detailed_view.rb +++ b/lib/peek/views/detailed_view.rb @@ -33,7 +33,7 @@ def calls def details call_details .sort { |a, b| b[:duration] <=> a[:duration] } - .map(&method(:format_call_details)) + .map { |call| format_call_details(call) } end def warnings diff --git a/lib/unnested_in_filters/rewriter.rb b/lib/unnested_in_filters/rewriter.rb index ed1e4ce2d9fda..9eb1c0b8273d2 100644 --- a/lib/unnested_in_filters/rewriter.rb +++ b/lib/unnested_in_filters/rewriter.rb @@ -45,7 +45,7 @@ def serialized_arel_value def serialized_array_values values.map(&:value) - .then { array_type.serialize(_1) } + .then { |value| array_type.serialize(value) } .then { |array| quote(array) } end @@ -58,7 +58,7 @@ def sql_type end def column - columns.find { _1.name == attribute } + columns.find { |column| column.name == attribute } end def unprepared_statement_collector @@ -180,12 +180,12 @@ def log_rewrite end def filter_query - model.from(from).then { add_relation_defaults(_1) } + model.from(from).then { |relation| add_relation_defaults(relation) } end def index_only_filter_query model.where(model.primary_key => filter_query.select(model.primary_key)) - .then { add_relation_defaults(_1) } + .then { |relation| add_relation_defaults(relation) } end def add_relation_defaults(new_relation) @@ -229,7 +229,9 @@ def model_column_names # Actively filter any nodes that don't belong to the primary queried table to prevent sql type resolution issues # Context: https://gitlab.com/gitlab-org/gitlab/-/issues/370271#note_1151019824 def arel_in_nodes - where_clause_arel_nodes.select(&method(:in_predicate?)).select { model_column_names.include?(_1.left.name) } + where_clause_arel_nodes + .select { |arel_node| in_predicate?(arel_node) } + .select { |arel_node| model_column_names.include?(arel_node.left.name) } end # `ActiveRecord::WhereClause#ast` is returning a single node when there is only one @@ -270,7 +272,7 @@ def filter_attributes end def order_attributes - @order_attributes ||= order_values.flat_map(&method(:extract_column_name)) + @order_attributes ||= order_values.flat_map { |order_value| extract_column_name(order_value) } end def extract_column_name(order_value) diff --git a/qa/qa/specs/features/browser_ui/2_plan/email/trigger_email_notification_spec.rb b/qa/qa/specs/features/browser_ui/2_plan/email/trigger_email_notification_spec.rb index b70590e65c8f5..4e9d74a51179b 100644 --- a/qa/qa/specs/features/browser_ui/2_plan/email/trigger_email_notification_spec.rb +++ b/qa/qa/specs/features/browser_ui/2_plan/email/trigger_email_notification_spec.rb @@ -45,7 +45,7 @@ def mailhog_json mailhog_data = JSON.parse(mailhog_response.body) total = mailhog_data.dig('total') subjects = mailhog_data.dig('items') - .map(&method(:mailhog_item_subject)) + .map { |item| mailhog_item_subject(item) } Runtime::Logger.debug(%Q[Total number of emails: #{total}]) Runtime::Logger.debug(%Q[Subjects:\n#{subjects.join("\n")}]) diff --git a/rubocop/cop/avoid_return_from_blocks.rb b/rubocop/cop/avoid_return_from_blocks.rb index 61edfd0a789e5..c6a7a87c548ba 100644 --- a/rubocop/cop/avoid_return_from_blocks.rb +++ b/rubocop/cop/avoid_return_from_blocks.rb @@ -32,7 +32,7 @@ def on_block(node) return unless top_block?(node) block_body.each_node(:return) do |return_node| - next if parent_blocks(node, return_node).all?(&method(:whitelisted?)) + next if parent_blocks(node, return_node).all? { |block_node| whitelisted?(block_node) } add_offense(return_node) end diff --git a/rubocop/cop/gitlab/mark_used_feature_flags.rb b/rubocop/cop/gitlab/mark_used_feature_flags.rb index d1722a47c8ade..ffd59c8fffcf6 100644 --- a/rubocop/cop/gitlab/mark_used_feature_flags.rb +++ b/rubocop/cop/gitlab/mark_used_feature_flags.rb @@ -187,7 +187,7 @@ def trackable_flag?(node) # Marking all event's feature flags as used as Gitlab::UsageDataCounters::HLLRedisCounter.track_event{,context} # is mostly used with dynamic event name. def track_usage_data_counters_known_events! - usage_data_counters_known_event_feature_flags.each(&method(:save_used_feature_flag)) + usage_data_counters_known_event_feature_flags.each { |feature_flag_name| save_used_feature_flag(feature_flag_name) } end def usage_data_counters_known_event_feature_flags diff --git a/rubocop/rubocop.rb b/rubocop/rubocop.rb index 6b5491b27fc25..c17ecf054cea1 100644 --- a/rubocop/rubocop.rb +++ b/rubocop/rubocop.rb @@ -7,6 +7,6 @@ require_relative 'ext/variable_force' # Auto-require all cops under `rubocop/cop/**/*.rb` -Dir[File.join(__dir__, 'cop', '**', '*.rb')].sort.each(&method(:require)) +Dir[File.join(__dir__, 'cop', '**', '*.rb')].sort.each { |file| require file } # rubocop:enable Naming/FileName diff --git a/tooling/lib/tooling/find_codeowners.rb b/tooling/lib/tooling/find_codeowners.rb index 6a90f86eeccb3..cc37d4db1ec70 100644 --- a/tooling/lib/tooling/find_codeowners.rb +++ b/tooling/lib/tooling/find_codeowners.rb @@ -89,7 +89,7 @@ def normalize_pattern(pattern) end def consolidate_paths(matched_files) - matched_files.group_by(&File.method(:dirname)).flat_map do |dir, files| + matched_files.group_by { |file| File.dirname(file) }.flat_map do |dir, files| # First line is the dir itself if find_dir_maxdepth_1(dir).lines.drop(1).sort == files.sort "#{dir}\n" diff --git a/tooling/lib/tooling/test_map_packer.rb b/tooling/lib/tooling/test_map_packer.rb index 151ce88111f48..15191e35c54f2 100644 --- a/tooling/lib/tooling/test_map_packer.rb +++ b/tooling/lib/tooling/test_map_packer.rb @@ -6,11 +6,11 @@ class TestMapPacker MARKER = 1 def pack(map) - map.transform_values(&method(:create_tree_from_tests)) + map.transform_values { |tests| create_tree_from_tests(tests) } end def unpack(compact_map) - compact_map.transform_values(&method(:retrieve_tests_from_tree)) + compact_map.transform_values { |tree| retrieve_tests_from_tree(tree) } end private diff --git a/tooling/quality/test_level.rb b/tooling/quality/test_level.rb index 29da7dddd039f..7e164d9ecd5fe 100644 --- a/tooling/quality/test_level.rb +++ b/tooling/quality/test_level.rb @@ -116,7 +116,7 @@ def prefixes_for_pattern def prefixes_for_regex return '' if prefixes.empty? - regex_prefix = prefixes.map(&Regexp.method(:escape)).join('|') + regex_prefix = prefixes.map { |prefix| Regexp.escape(prefix) }.join('|') "(#{regex_prefix})" end -- GitLab