diff options
author | Igor <idrozdov@gitlab.com> | 2019-07-17 16:06:19 +0300 |
---|---|---|
committer | Nick Thomas <nick@gitlab.com> | 2019-07-17 16:06:19 +0300 |
commit | 0f46886880e46344856ede52dd3b500e4d6737ac (patch) | |
tree | 263867f1fba61ad987ca63d1253f15926d72d143 /lib/gitlab/submodule_links.rb | |
parent | b62c049f2db1e399dcd3c02b2507d444aeffe50d (diff) |
Added submodule links to Submodule type in GraphQL API
This is part of migration of Folder View to Vue
Diffstat (limited to 'lib/gitlab/submodule_links.rb')
-rw-r--r-- | lib/gitlab/submodule_links.rb | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/lib/gitlab/submodule_links.rb b/lib/gitlab/submodule_links.rb new file mode 100644 index 00000000000..a6c0369d864 --- /dev/null +++ b/lib/gitlab/submodule_links.rb @@ -0,0 +1,26 @@ +# frozen_string_literal: true + +module Gitlab + class SubmoduleLinks + include Gitlab::Utils::StrongMemoize + + def initialize(repository) + @repository = repository + end + + def for(submodule, sha) + submodule_url = submodule_url_for(sha)[submodule.path] + SubmoduleHelper.submodule_links_for_url(submodule.id, submodule_url, repository) + end + + private + + attr_reader :repository + + def submodule_url_for(sha) + strong_memoize(:"submodule_links_for_#{sha}") do + repository.submodule_urls_for(sha) + end + end + end +end |