Rizz.Item (Rizz v0.1.0)

View Source

Represents an item in a RIZZ feed, including AI-specific metadata.

Summary

Functions

Checks if an item is compatible with the specified AI model.

Returns the data quality of an item.

Creates a new RIZZ feed item with the given attributes.

Types

t()

@type t() :: %Rizz.Item{
  ai_context: String.t() | nil,
  ai_data_quality: integer() | nil,
  ai_model: [String.t()] | nil,
  author: String.t() | nil,
  category: String.t() | nil,
  description: String.t() | nil,
  guid: String.t() | nil,
  json_ld: map() | nil,
  link: String.t() | nil,
  pub_date: DateTime.t() | nil,
  title: String.t() | nil
}

Functions

compatible_with_model?(item, model)

@spec compatible_with_model?(t(), String.t()) :: boolean()

Checks if an item is compatible with the specified AI model.

Example

iex> item = Rizz.Item.new(%{ai_model: ["GPT", "Grok"]})
iex> Rizz.Item.compatible_with_model?(item, "GPT")
true

iex> Rizz.Item.compatible_with_model?(item, "Claude")
false

data_quality(item)

@spec data_quality(t()) :: integer()

Returns the data quality of an item.

Example

iex> item = Rizz.Item.new(%{ai_data_quality: 85})
iex> Rizz.Item.data_quality(item)
85

iex> item = Rizz.Item.new(%{})
iex> Rizz.Item.data_quality(item)
0

new(attrs \\ %{})

@spec new(map()) :: t()

Creates a new RIZZ feed item with the given attributes.

Example

iex> Rizz.Item.new(%{title: "AI Update", description: "New models", ai_model: ["GPT", "Grok"]})
%Rizz.Item{title: "AI Update", description: "New models", ai_model: ["GPT", "Grok"]}