Add Transform.new/1
This commit is contained in:
@@ -5,6 +5,8 @@ defmodule MusicLibrary.Assets.Transform do
|
|||||||
@type t :: %__MODULE__{}
|
@type t :: %__MODULE__{}
|
||||||
@type payload :: String.t()
|
@type payload :: String.t()
|
||||||
|
|
||||||
|
def new(attrs \\ %{}), do: struct!(__MODULE__, attrs)
|
||||||
|
|
||||||
@doc """
|
@doc """
|
||||||
iex> alias MusicLibrary.Assets.Transform
|
iex> alias MusicLibrary.Assets.Transform
|
||||||
iex> transform = %Transform{hash: "abc123", width: 300}
|
iex> transform = %Transform{hash: "abc123", width: 300}
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ defmodule MusicLibraryWeb.ArtistComponents do
|
|||||||
|
|
||||||
def artist_image(assigns) do
|
def artist_image(assigns) do
|
||||||
payload =
|
payload =
|
||||||
%Transform{hash: assigns.image_hash, width: assigns.width}
|
Transform.new(hash: assigns.image_hash, width: assigns.width)
|
||||||
|> Transform.encode!()
|
|> Transform.encode!()
|
||||||
|
|
||||||
assigns = assign(assigns, :payload, payload)
|
assigns = assign(assigns, :payload, payload)
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ defmodule MusicLibraryWeb.RecordComponents do
|
|||||||
|
|
||||||
def record_cover(assigns) do
|
def record_cover(assigns) do
|
||||||
payload =
|
payload =
|
||||||
%Transform{hash: assigns.record.cover_hash, width: assigns.width}
|
Transform.new(hash: assigns.record.cover_hash, width: assigns.width)
|
||||||
|> Transform.encode!()
|
|> Transform.encode!()
|
||||||
|
|
||||||
assigns = assign(assigns, :payload, payload)
|
assigns = assign(assigns, :payload, payload)
|
||||||
|
|||||||
@@ -21,8 +21,8 @@ defmodule MusicLibraryWeb.CollectionJSON do
|
|||||||
id: record.id,
|
id: record.id,
|
||||||
artists: Enum.map(record.artists, & &1.name),
|
artists: Enum.map(record.artists, & &1.name),
|
||||||
title: record.title,
|
title: record.title,
|
||||||
cover_url: url(~p"/api/assets/#{%Transform{hash: record.cover_hash}}"),
|
cover_url: url(~p"/api/assets/#{Transform.new(hash: record.cover_hash)}"),
|
||||||
thumb_url: url(~p"/api/assets/#{%Transform{hash: record.cover_hash, width: 480}}")
|
thumb_url: url(~p"/api/assets/#{Transform.new(hash: record.cover_hash, width: 480)}")
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user