Module: Legion::Extensions::Exec::Helpers::RepoMaterializer

Defined in:
lib/legion/extensions/exec/helpers/repo_materializer.rb

Class Method Summary collapse

Class Method Details

.materialize(work_item:, credential_provider: nil) ⇒ Object



11
12
13
14
15
16
17
18
19
# File 'lib/legion/extensions/exec/helpers/repo_materializer.rb', line 11

def materialize(work_item:, credential_provider: nil)
  strategy = resolve_strategy
  case strategy
  when :clone
    materialize_via_clone(work_item: work_item, credential_provider: credential_provider)
  else
    { success: false, error: "Unknown strategy: #{strategy}" }
  end
end

.release(work_item:) ⇒ Object



21
22
23
24
# File 'lib/legion/extensions/exec/helpers/repo_materializer.rb', line 21

def release(work_item:)
  repo_path = build_repo_path(work_item)
  Helpers::Worktree.remove(task_id: work_item[:task_id], repo_path: repo_path)
end