d598e4fd93
Enables frozen for the following: * lib/*.rb * lib/banzai/**/*.rb * lib/bitbucket/**/*.rb * lib/constraints/**/*.rb * lib/container_registry/**/*.rb * lib/declarative_policy/**/*.rb Partially addresses #47424.
27 lines
643 B
Ruby
27 lines
643 B
Ruby
# frozen_string_literal: true
|
|
|
|
module Banzai
|
|
module ReferenceParser
|
|
class IssuableParser < BaseParser
|
|
def nodes_visible_to_user(user, nodes)
|
|
records = records_for_nodes(nodes)
|
|
|
|
nodes.select do |node|
|
|
issuable = records[node]
|
|
|
|
issuable && can_read_reference?(user, issuable)
|
|
end
|
|
end
|
|
|
|
def referenced_by(nodes)
|
|
records = records_for_nodes(nodes)
|
|
|
|
nodes.map { |node| records[node] }.compact.uniq
|
|
end
|
|
|
|
def can_read_reference?(user, issuable)
|
|
can?(user, "read_#{issuable.class.to_s.underscore}_iid".to_sym, issuable)
|
|
end
|
|
end
|
|
end
|
|
end
|