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