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

#generate_git_artifacts(repo, omit_empty: true, **git_artifact_options) ⇒ Object



28
29
30
31
32
33
34
35
# File 'lib/dapp/dimg/dimg/git_artifact.rb', line 28

def generate_git_artifacts(repo, omit_empty: true, **git_artifact_options)
  [].tap do |artifacts|
    artifacts << (artifact = ::Dapp::Dimg::GitArtifact.new(repo, self, ignore_signature_auto_calculation: ignore_signature_auto_calculation, **git_artifact_options))
    artifacts
  end.select do |artifact|
    !omit_empty || !artifact.is_empty
  end
end

#git_artifacts(omit_empty: true) ⇒ Object



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

def git_artifacts(omit_empty: true)
  [*local_git_artifacts(omit_empty: omit_empty), *remote_git_artifacts(omit_empty: omit_empty)].compact
end

#local_git_artifacts(omit_empty: true) ⇒ Object



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

def local_git_artifacts(omit_empty: true)
  @local_git_artifact_list ||= [].tap do |artifacts|
    break artifacts if (local_git_artifacts = Array(config._git_artifact._local)).empty?
    repo = GitRepo::Own.new(dapp)
    local_git_artifacts.map do |ga_config|
      artifacts.concat(generate_git_artifacts(repo, omit_empty: omit_empty, **ga_config._artifact_options))
    end unless repo.empty?
  end
end

#remote_git_artifacts(omit_empty: true) ⇒ Object



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

def remote_git_artifacts(omit_empty: true)
  @remote_git_artifact_list ||= [].tap do |artifacts|
    Array(config._git_artifact._remote).each do |ga_config|
      repo = GitRepo::Remote.get_or_create(dapp, ga_config._name, url: ga_config._url)
      artifacts.concat(generate_git_artifacts(repo, omit_empty: omit_empty, **ga_config._artifact_options)) unless repo.empty?
    end
  end
end