module Drum

Constants

Album

A album, i.e. a composition of tracks by an artist.

@!attribute id

@return [String] The (internal) id of the album

@!attribute name

@return [String] The name of the album

@!attribute artist_ids

@return [Array<String>] The artist ids of the album

@!attribute spotify

@return [optional, AlbumSpotify] Spotify-specific metadata

@!attribute applemusic

@return [optional, AlbumAppleMusic] Apple Music-specific metadata
AlbumAppleMusic

Apple Music-specific metadata about the album.

@!attribute image_url

@return [optional, String] The cover image of the album
AlbumSpotify

Spotify-specific metadata about the album.

@!attribute id

@return [String] The id of the album on Spotify

@!attribute image_url

@return [String] The URL of the album cover art on Spotify
Artist

An artist.

@!attribute id

@return [String] The (internal) id of the artist

@!attribute name

@return [optional, String] The displayed/formatted name of the artist

@!attribute spotify

@return [optional, ArtistSpotify] Spotify-specific metadata
ArtistSpotify

Spotify-specific metadata about the artist.

@!attribute id

@return [String] The id of the artist on Spotify

@!attribute image_url

@return [optional, String] An image of the artist
PlaylistAppleMusic

Apple Music-specific metadata about the playlist.

@!attribute library_id

@return [optional, String] The library-internal id of the playlist

@!attribute global_id

@return [optional, String] The global id of the playlist (implies that it is available through the catalog API)

@!attribute public

@return [optional, Boolean] Whether the playlist is public

@!attribute editable

@return [optional, Boolean] Whether the playlist is editable

@!attribute image_url

@return [optional, String] The playlist cover image, if present
PlaylistSpotify

Spotify-specific metadata about the playlist.

@!attribute id

@return [String] The id of the playlist on Spotify

@!attribute public

@return [optional, Boolean] Whether the playlist is public on Spotify

@!attribute collaborative

@return [optional, Boolean] Whether the playlist is collaborative on Spotify

@!attribute image_url

@return [optional, String] The playlist cover URL
RawRef

A ‘half-parsed’ reference to a resource, either a token or something else. The specifics are left to the service-specific Ref-parser.

@!attribute raw

@return [String] The raw text (@-stripped, though, if it's a token)

@!attribute is_token

@return [Boolean] Whether the ref is a token (i.e. begins with @)
Ref

A parsed reference to a resource, usually one or multiple playlists. Can be a folder, a library or the like, located on the local machine or a remote service.

See the README for examples.

@!attribute service_name

@return [String] The name of the service

@!attribute resource_type

@return [Symbol] The type of the resource, service-dependent

@!attribute resource_location

@return [Object] The path/id of the resource, service-dependent (usually a String or Symbol)
Track

A track/song.

@!attribute name

@return [String] The name of the track

@!attribute artist_ids

@return [Array<String>] The (internal) artist ids

@!attribute composer_ids

@return [optional, Array<String>] The (internal) composer ids

@!attribute genres

@return [optional, Array<String>] The track's genre names

@!attribute album_id

@return [optional, String] The (internal) album id

@!attribute duration_ms

@return [optional, Float] The duration of the track in milliseconds

@!attribute explicit

@return [optional, Boolean] Whether the track is explicit

@!attribute released_at

@return [optional, DateTime] The date/time the this track was released

@!attribute added_at

@return [optional, DateTime] The date/time the this track was added to the playlist

@!attribute added_by

@return [optional, String] The user id of the user who added this track to the playlist

@!attribute isrc

@return [optional, String] The International Standard Recording Code of this track

@!attribute spotify

@return [optional, TrackSpotify] Spotify-specific metadata

@!attribute applemusic

@return [optional, TrackAppleMusic] Apple Music-specific metadata
TrackAppleMusic

Apple Music-specific metadata about the track.

@!attribute library_id

@return [optional, String] The library-internal id of the track

@!attribute catalog_id

@return [optional, String] The global catalog id of the track

@!attribute preview_url

@return [optional, String] A short preview of the song audio
TrackSpotify

Spotify-specific metadata about the track.

@!attribute id

@return [String] The id of the track on Spotify
User

A user.

@!attribute id

@return [String] The (internal) id of the user

@!attribute display_name

@return [optional, String] The general formatted name of the user

@!attribute spotify

@return [optional, UserSpotify] Spotify-specific metadata
UserSpotify

Spotify-specific metadata about the user.

@!attribute id

@return [String] The id of the artist on Spotify

@!attribute image_url

@return [optional, String] The profile image of the user
VERSION