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