Convenience functions for GitHub activity events and repository starring.
Event feeds are delayed activity streams rather than real-time delivery; use
webhooks when latency matters. Every list has a lazy stream_* companion.
Watching/subscription endpoints are intentionally outside this module's
scope; notification-thread subscriptions live in GhEx.Notifications.
Except for the documented boolean body returned by starred?/4, these thin
wrappers return the same {:ok, body, meta} / {:error, reason} shape as
GhEx.REST and pass opts through to Req.
Summary
Functions
Lists public events for an organization.
Lists public events across GitHub.
Lists events for a repository.
Lists a repository's stargazers.
Lists repositories starred by a user.
Lists events performed by a user.
Stars a repository for the authenticated user.
Checks whether the authenticated user has starred a repository.
Auto-paginates an organization's public events into a lazy Stream.
Auto-paginates public events across GitHub into a lazy Stream.
Auto-paginates repository events into a lazy Stream.
Auto-paginates a repository's stargazers into a lazy Stream.
Auto-paginates repositories starred by a user into a lazy Stream.
Auto-paginates events performed by a user into a lazy Stream.
Unstars a repository for the authenticated user.
Functions
@spec list_org_events(GhEx.Client.t(), String.t(), keyword()) :: GhEx.REST.result()
Lists public events for an organization.
@spec list_public_events( GhEx.Client.t(), keyword() ) :: GhEx.REST.result()
Lists public events across GitHub.
@spec list_repo_events(GhEx.Client.t(), String.t(), String.t(), keyword()) :: GhEx.REST.result()
Lists events for a repository.
@spec list_stargazers(GhEx.Client.t(), String.t(), String.t(), keyword()) :: GhEx.REST.result()
Lists a repository's stargazers.
Pass an application/vnd.github.star+json Accept header to include each
star's timestamp. GitHub may restrict this listing to repository admins and
collaborators.
@spec list_starred(GhEx.Client.t(), String.t(), keyword()) :: GhEx.REST.result()
Lists repositories starred by a user.
@spec list_user_events(GhEx.Client.t(), String.t(), keyword()) :: GhEx.REST.result()
Lists events performed by a user.
When authenticated as username, the response may include private events;
otherwise GitHub returns only public events.
@spec star(GhEx.Client.t(), String.t(), String.t(), keyword()) :: GhEx.REST.result()
Stars a repository for the authenticated user.
@spec starred?(GhEx.Client.t(), String.t(), String.t(), keyword()) :: GhEx.REST.result()
Checks whether the authenticated user has starred a repository.
Returns {:ok, true, meta} for GitHub's 204 response and
{:ok, false, meta} for its 404 absence response. Other failures remain
{:error, %GhEx.Error{}}. A conditional 304 is returned as
{:ok, :not_modified, meta}, consistent with GhEx.REST.
@spec stream_org_events(GhEx.Client.t(), String.t(), keyword()) :: Enumerable.t()
Auto-paginates an organization's public events into a lazy Stream.
@spec stream_public_events( GhEx.Client.t(), keyword() ) :: Enumerable.t()
Auto-paginates public events across GitHub into a lazy Stream.
@spec stream_repo_events(GhEx.Client.t(), String.t(), String.t(), keyword()) :: Enumerable.t()
Auto-paginates repository events into a lazy Stream.
@spec stream_stargazers(GhEx.Client.t(), String.t(), String.t(), keyword()) :: Enumerable.t()
Auto-paginates a repository's stargazers into a lazy Stream.
@spec stream_starred(GhEx.Client.t(), String.t(), keyword()) :: Enumerable.t()
Auto-paginates repositories starred by a user into a lazy Stream.
@spec stream_user_events(GhEx.Client.t(), String.t(), keyword()) :: Enumerable.t()
Auto-paginates events performed by a user into a lazy Stream.
@spec unstar(GhEx.Client.t(), String.t(), String.t(), keyword()) :: GhEx.REST.result()
Unstars a repository for the authenticated user.