Class: Ace::Git::Worktree::Molecules::PullRequestEvidenceResolver
- Inherits:
-
Object
- Object
- Ace::Git::Worktree::Molecules::PullRequestEvidenceResolver
- Defined in:
- lib/ace/git/worktree/molecules/pull_request_evidence_resolver.rb
Overview
Resolves normalized pull request evidence for worktree consumers.
The server is selected once (explicit --server, --default-server,
or remote resolution) and the PR is fetched through the registered
provider contract. Local-only callers never construct this molecule,
so no forge resolution happens without a PR-aware request.
Instance Method Summary collapse
-
#initialize(server_name: nil, use_default: false, remote_name: nil, timeout: nil, runner: nil) ⇒ PullRequestEvidenceResolver
constructor
A new instance of PullRequestEvidenceResolver.
-
#resolve(number) ⇒ Hash
Fetch exact PR evidence with source/base provenance.
Constructor Details
#initialize(server_name: nil, use_default: false, remote_name: nil, timeout: nil, runner: nil) ⇒ PullRequestEvidenceResolver
Returns a new instance of PullRequestEvidenceResolver.
21 22 23 24 25 |
# File 'lib/ace/git/worktree/molecules/pull_request_evidence_resolver.rb', line 21 def initialize(server_name: nil, use_default: false, remote_name: nil, timeout: nil, runner: nil) @selection = {server_name: server_name, use_default: use_default, remote_name: remote_name} @timeout = timeout @runner = runner end |
Instance Method Details
#resolve(number) ⇒ Hash
Fetch exact PR evidence with source/base provenance.
31 32 33 34 35 |
# File 'lib/ace/git/worktree/molecules/pull_request_evidence_resolver.rb', line 31 def resolve(number) server = Ace::Git::ServerRegistry.resolve_for(**@selection) provider = Ace::Git::Providers.for(server, timeout: @timeout, runner: @runner) {server: server, evidence: provider.pull_request(number: number)} end |