defmodule Spotify.Playlist.Track do @moduledoc """ Requesting track info from a specific playlist """ import Spotify.Helpers use Spotify.Responder defstruct ~w[ added_at added_by is_local track ]a @doc """ Implements the hook expected by the Responder behaviour """ def build_response(body) do tracks = body["items"] tracks = Enum.map(tracks, fn track -> track_info = to_struct(__MODULE__, track) Map.put(track_info, :track, to_struct(Spotify.Track, track_info.track)) end) Spotify.Paging.response(body, tracks) end end