From a980f2a54e64d2ccf7e901a065f6a0dc2a8103da Mon Sep 17 00:00:00 2001 From: Manoj M J <mmj@gitlab.com> Date: Mon, 20 Dec 2021 11:19:31 +0530 Subject: [PATCH] Use `Arel::Nodes::ValuesList` in `EffectiveAccessLevelFinder` This MR makes changes such that we now use `Arel::Nodes::ValuesList` in `EffectiveAccessLevelFinder` to generate the query that finds members with their user ids and access levels in a given project. --- .../projects/members/effective_access_level_finder.rb | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/app/finders/projects/members/effective_access_level_finder.rb b/app/finders/projects/members/effective_access_level_finder.rb index d238679f2fbff..4538fc4c8554e 100644 --- a/app/finders/projects/members/effective_access_level_finder.rb +++ b/app/finders/projects/members/effective_access_level_finder.rb @@ -27,13 +27,9 @@ def execute attr_reader :project def generate_from_statement(user_ids_and_access_levels) - "(VALUES #{generate_values_expression(user_ids_and_access_levels)}) members (user_id, access_level)" - end + values_list = Arel::Nodes::ValuesList.new(user_ids_and_access_levels).to_sql - def generate_values_expression(user_ids_and_access_levels) - user_ids_and_access_levels.map do |user_id, access_level| - "(#{user_id}, #{access_level})" - end.join(",") + "(#{values_list}) members (user_id, access_level)" end def no_members? -- GitLab