Module: Dapp::Dimg::Dimg::GitArtifact

Included in:
Dapp::Dimg::Dimg
Defined in:
lib/dapp/dimg/dimg/git_artifact.rb

Instance Method Summary collapse

Instance Method Details

#git_artifactsObject



5
6
7
# File 'lib/dapp/dimg/dimg/git_artifact.rb', line 5

def git_artifacts
  [*local_git_artifacts, *remote_git_artifacts].compact
end

#local_git_artifactsObject



9
10
11
12
13
14
15
16
# File 'lib/dapp/dimg/dimg/git_artifact.rb', line 9

def local_git_artifacts
  @local_git_artifact_list ||= begin
    repo = GitRepo::Own.new(self)
    Array(config._git_artifact._local).map do |ga_config|
      ::Dapp::Dimg::GitArtifact.new(repo, **ga_config._artifact_options)
    end
  end
end

#remote_git_artifactsObject



18
19
20
21
22
23
24
25
26
27
# File 'lib/dapp/dimg/dimg/git_artifact.rb', line 18

def remote_git_artifacts
  @remote_git_artifact_list ||= begin
    repos = {}
    Array(config._git_artifact._remote).map do |ga_config|
      repo_key = [ga_config._url, ga_config._branch]
      repos[repo_key] ||= GitRepo::Remote.new(self, ga_config._name, url: ga_config._url).tap { |repo| repo.fetch!(ga_config._branch) }
      ::Dapp::Dimg::GitArtifact.new(repos[repo_key], **ga_config._artifact_options)
    end
  end
end