class AppleMusic::Song::Attributes

developer.apple.com/documentation/applemusicapi/songs/attributes

Attributes

album_name[R]
artist_name[R]
artwork[R]
composer_name[R]
content_rating[R]
disc_number[R]
duration_in_millis[R]
editorial_notes[R]
genre_names[R]
isrc[R]
movement_count[R]
movement_name[R]
movement_number[R]
name[R]
play_params[R]
previews[R]
release_date[R]
track_number[R]
url[R]
work_name[R]

Public Class Methods

new(props = {}) click to toggle source
# File lib/apple_music/song/attributes.rb, line 13
def initialize(props = {})
  @album_name = props['albumName'] # required
  @artist_name = props['artistName'] # required
  @artwork = Artwork.new(props['artwork']) # required
  @composer_name = props['composerName']
  @content_rating = props['contentRating']
  @disc_number = props['discNumber'] # required
  @duration_in_millis = props['durationInMillis']
  @editorial_notes = EditorialNotes.new(props['editorialNotes']) if props['editorialNotes']
  @genre_names = props['genreNames'] # required
  @isrc = props['isrc'] # required
  @movement_count = props['movementCount']
  @movement_name = props['movementName']
  @movement_number = props['movementNumber']
  @name = props['name'] # required
  @play_params = PlayParameters.new(props['playParams']) if props['playParams']
  @previews = Array(props['previews']).map { |attrs| Preview.new(attrs) } # required
  @release_date = begin
                    props['releaseDate'].nil? ? nil : Date.parse(props['releaseDate'])
                  rescue ArgumentError
                    Date.parse("#{props['releaseDate']}/01/01")
                  end
  @track_number = props['trackNumber'] # required
  @url = props['url'] # required
  @work_name = props['workName']
end