Use Enumerable#index_by where possible

This commit is contained in:
Douwe Maan 2017-03-16 09:22:09 -06:00
parent 0928d3cd82
commit 871bed7ac0
5 changed files with 5 additions and 20 deletions

View file

@ -23,10 +23,7 @@ module MergeRequests
def opened_merge_requests_from_source_branches(branches)
merge_requests = MergeRequest.from_project(project).opened.from_source_branches(branches)
merge_requests.inject({}) do |hash, mr|
hash[mr.source_branch] = mr
hash
end
merge_requests.index_by(&:source_branch)
end
def get_branches(changes)

View file

@ -93,9 +93,7 @@ module Users
end
def current_authorizations_per_project
current_authorizations.each_with_object({}) do |row, hash|
hash[row.project_id] = row
end
current_authorizations.index_by(&:project_id)
end
def current_authorizations

View file

@ -239,18 +239,13 @@ module Banzai
# path.
def projects_per_reference
@projects_per_reference ||= begin
hash = {}
refs = Set.new
references_per_project.each do |project_ref, _|
refs << project_ref
end
find_projects_for_paths(refs.to_a).each do |project|
hash[project.path_with_namespace] = project
end
hash
find_projects_for_paths(refs.to_a).index_by(&:full_path)
end
end

View file

@ -74,10 +74,7 @@ module Banzai
# The keys of this Hash are the namespace paths, the values the
# corresponding Namespace objects.
def namespaces
@namespaces ||=
Namespace.where_full_path_in(usernames).each_with_object({}) do |row, hash|
hash[row.full_path] = row
end
@namespaces ||= Namespace.where_full_path_in(usernames).index_by(&:full_path)
end
# Returns all usernames referenced in the current document.

View file

@ -134,9 +134,7 @@ module Banzai
ids = unique_attribute_values(nodes, attribute)
rows = collection_objects_for_ids(collection, ids)
rows.each_with_object({}) do |row, hash|
hash[row.id] = row
end
rows.index_by(&:id)
end
# Returns an Array containing all unique values of an attribute of the