Tayori.Change (Tayori v0.1.0)

Copy Markdown View Source

A change in the inbox (Tayori.Inbox): one thing that shipped, as a source brought it, before it becomes an entry or part of one.

  • :source - where it came from: "changelog", "fragments", "api", "github", "app", "mcp", or a source of the app's own.
  • :ref - its name in its source (a file, a version and its text, a pull request): a change brought again with the same source and ref is the same change.
  • :title and :body - what changed, the body in Markdown.
  • :kind - the source's own word for it ("added", "fix", "feature"); :category - the key of a Tayori.Category, given or from the kind (the :kinds of the :inbox config).
  • :audience - "public", or "internal": a change for the team only, never put in an entry.
  • :segments - the readers it is for, as an entry's.
  • :highlight - worth leading with.
  • :version, :url, :author - where it shipped, a link to it (a pull request), who made it.
  • :occurred_at - when it happened (when it came, unless said).
  • :state - "new"; "drafted" once in an entry (:entry_id); "hidden" when the admin put it aside.
  • :meta - whatever else the source keeps.

Summary

Functions

The audiences of a change.

The states of a change.

Types

t()

@type t() :: %Tayori.Change{
  __meta__: term(),
  audience: String.t(),
  author: String.t() | nil,
  body: String.t() | nil,
  category: String.t() | nil,
  entry_id: Ecto.UUID.t() | nil,
  highlight: boolean(),
  id: Ecto.UUID.t() | nil,
  inserted_at: DateTime.t() | nil,
  kind: String.t() | nil,
  meta: map(),
  occurred_at: DateTime.t() | nil,
  ref: String.t() | nil,
  segments: [String.t()],
  source: String.t() | nil,
  state: String.t(),
  title: String.t() | nil,
  updated_at: DateTime.t() | nil,
  url: String.t() | nil,
  version: String.t() | nil
}

Functions

audiences()

@spec audiences() :: [String.t()]

The audiences of a change.

states()

@spec states() :: [String.t()]

The states of a change.