36 lines
810 B
Ruby
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
|