BigW Consortium Gitlab

union_finder.rb 266 Bytes
Newer Older
1 2 3 4 5 6 7 8 9 10 11
class UnionFinder
  def find_union(segments, klass)
    if segments.length > 1
      union = Gitlab::SQL::Union.new(segments.map { |s| s.select(:id) })

      klass.where("#{klass.table_name}.id IN (#{union.to_sql})")
    else
      segments.first
    end
  end
end