class AppleMusic::Playlist

developer.apple.com/documentation/applemusicapi/playlist

Public Class Methods

find(id, **options) click to toggle source

e.g. AppleMusic::Playlist.find('pl.acc464c750b94302b8806e5fcbe56e17') developer.apple.com/documentation/applemusicapi/get_a_catalog_playlist

# File lib/apple_music/playlist.rb, line 9
def find(id, **options)
  storefront = Storefront.lookup(options.delete(:storefront))
  response = AppleMusic.get("catalog/#{storefront}/playlists/#{id}", options)
  Response.new(response.body).data.first
end
get_collection_by_ids(ids, **options) click to toggle source

e.g. AppleMusic::Playlist.get_collection_by_ids(['pl.acc464c750b94302b8806e5fcbe56e17', 'pl.97c6f95b0b884bedbcce117f9ea5d54b']) developer.apple.com/documentation/applemusicapi/get_multiple_catalog_playlists

# File lib/apple_music/playlist.rb, line 24
def get_collection_by_ids(ids, **options)
  ids = ids.is_a?(Array) ? ids.join(',') : ids
  storefront = Storefront.lookup(options.delete(:storefront))
  response = AppleMusic.get("catalog/#{storefront}/playlists", options.merge(ids: ids))
  Response.new(response.body).data
end
get_relationship(id, relationship_type, **options) click to toggle source

e.g. AppleMusic::Playlist.get_relationship('pl.acc464c750b94302b8806e5fcbe56e17', :curator) developer.apple.com/documentation/applemusicapi/get_a_catalog_playlist_s_relationship_directly_by_name

# File lib/apple_music/playlist.rb, line 33
def get_relationship(id, relationship_type, **options)
  storefront = Storefront.lookup(options.delete(:storefront))
  response = AppleMusic.get("catalog/#{storefront}/playlists/#{id}/#{relationship_type}", options)
  Response.new(response.body).data
end
list(**options) click to toggle source

e.g. AppleMusic::Playlist.list(ids: ['pl.acc464c750b94302b8806e5fcbe56e17', 'pl.97c6f95b0b884bedbcce117f9ea5d54b'])

# File lib/apple_music/playlist.rb, line 16
def list(**options)
  raise ParameterMissing, 'required parameter :ids is missing' unless options[:ids]

  get_collection_by_ids(options.delete(:ids), options)
end