gitlab-org--gitlab-foss/lib/gitlab/graphql/representation/submodule_tree_entry.rb

36 lines
810 B
Ruby

# frozen_string_literal: true
module Gitlab
module Graphql
module Representation
class SubmoduleTreeEntry < SimpleDelegator
include GlobalID::Identification
class << self
def decorate(submodules, tree)
repository = tree.repository
submodule_links = Gitlab::SubmoduleLinks.new(repository)
submodules.map do |submodule|
self.new(submodule, submodule_links.for(submodule, tree.sha))
end
end
end
def initialize(submodule, submodule_links)
@submodule_links = submodule_links
super(submodule)
end
def web_url
@submodule_links&.web
end
def tree_url
@submodule_links&.tree
end
end
end
end
end