class AppleMusic::MusicVideo

developer.apple.com/documentation/applemusicapi/musicvideo

Public Class Methods

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

e.g. AppleMusic::MusicVideo.find(401135199) developer.apple.com/documentation/applemusicapi/get_a_catalog_music_video

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

e.g. AppleMusic::MusicVideo.get_collection_by_ids([401135199, 401147268]) developer.apple.com/documentation/applemusicapi/get_multiple_catalog_music_videos_by_id

# File lib/apple_music/music_video.rb, line 29
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}/music-videos", options.merge(ids: ids))
  Response.new(response.body).data
end
get_collection_by_isrc(isrc, **options) click to toggle source

e.g. AppleMusic::MusicVideo.get_collection_by_isrc('GBDCE0900012') developer.apple.com/documentation/applemusicapi/get_multiple_catalog_music_videos_by_isrc

# File lib/apple_music/music_video.rb, line 38
def get_collection_by_isrc(isrc, **options)
  isrc = isrc.is_a?(Array) ? isrc.join(',') : isrc
  storefront = Storefront.lookup(options.delete(:storefront))
  response = AppleMusic.get("catalog/#{storefront}/music-videos", options.merge('filter[isrc]': isrc))
  Response.new(response.body).data
end
get_relationship(id, relationship_type, **options) click to toggle source

e.g. AppleMusic::MusicVideo.get_relationship(401135199, :albums) developer.apple.com/documentation/applemusicapi/get_a_catalog_music_video_s_relationship_directly_by_name

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

e.g. AppleMusic::MusicVideo.list(ids: [401135199, 401147268]) e.g. AppleMusic::MusicVideo.list(isrc: 'GBDCE0900012')

# File lib/apple_music/music_video.rb, line 17
def list(**options)
  if options[:ids]
    get_collection_by_ids(options.delete(:ids), options)
  elsif options[:isrc]
    get_collection_by_isrc(options.delete(:isrc), options)
  else
    raise ParameterMissing, 'required parameter :ids or :isrc is missing'
  end
end