Rizz.Feed (Rizz v0.1.0)

View Source

Type definition and helpers for RIZZ feeds.

RIZZ feeds extend standard RSS feeds with AI-specific metadata.

Summary

Functions

Adds an item to the feed.

Converts a standard ElixirFeedParser feed to RIZZ format.

Creates a new feed with the given properties.

Types

t()

@type t() :: %Rizz.Feed{
  description: String.t() | nil,
  generator: String.t() | nil,
  items: [Rizz.Item.t()],
  language: String.t() | nil,
  last_build_date: DateTime.t() | nil,
  link: String.t() | nil,
  pub_date: DateTime.t() | nil,
  title: String.t() | nil,
  ttl: non_neg_integer() | nil
}

Functions

add_item(feed, item_attrs)

@spec add_item(t(), map()) :: t()

Adds an item to the feed.

Example

iex> feed = Rizz.Feed.new(title: "AI News")
iex> Rizz.Feed.add_item(feed, %{title: "Update", description: "New model", ai_model: ["GPT"]})
%Rizz.Feed{title: "AI News", items: [%Rizz.Item{title: "Update"}]}

from_standard_feed(feed, opts \\ [])

Converts a standard ElixirFeedParser feed to RIZZ format.

new(props \\ %{})

Creates a new feed with the given properties.

Example

iex> feed = Rizz.Feed.new(title: "AI News")
iex> feed.title
"AI News"