Class: RepoTender::Forge::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/repo_tender/forge/client.rb

Overview

Abstract forge interface. The GitHub implementation lists the repos belonging to an OrgRef. The interface is intentionally narrow: a forge is a source of (host, owner, name) triples. The sync engine expands an OrgRef into RepoRefs at sync time; it never asks the forge about a specific repo.

Direct Known Subclasses

GitHub

Instance Method Summary collapse

Instance Method Details

#check_authenticatedObject

Returns Success(:authenticated) or Failure(reason:). Called ONCE by the engine before fanning out org listings.

Raises:

  • (NotImplementedError)


18
19
20
# File 'lib/repo_tender/forge/client.rb', line 18

def check_authenticated
  raise NotImplementedError
end

#list_org(org_ref) ⇒ Object

Returns Success([RepoRef, …]) or Failure. Honors the include_archived / include_forks flags on the OrgRef. Does NOT perform authentication — the engine calls check_authenticated first.

Raises:

  • (NotImplementedError)


26
27
28
# File 'lib/repo_tender/forge/client.rb', line 26

def list_org(org_ref)
  raise NotImplementedError
end