Optimize map { ... }.compact calls (#15513)

* Optimize map { ... }.compact

using Enumerable#filter_map, supported since Ruby 2.7

* Add poyfill for Enumerable#filter_map
This commit is contained in:
luigi 2021-01-09 18:32:01 -05:00 committed by GitHub
parent 9395143126
commit 087ed84367
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
22 changed files with 52 additions and 26 deletions

View file

@ -24,8 +24,7 @@ class ActivityPub::FetchFeaturedCollectionService < BaseService
def process_items(items)
status_ids = items.map { |item| value_or_id(item) }
.reject { |uri| ActivityPub::TagManager.instance.local_uri?(uri) }
.map { |uri| ActivityPub::FetchRemoteStatusService.new.call(uri) }
.compact
.filter_map { |uri| ActivityPub::FetchRemoteStatusService.new.call(uri) }
.select { |status| status.account_id == @account.id }
.map(&:id)