Sha256: 6c454fc8f37f39f939e6951e20cd7857d330acfaa0a54c89c861f6450ffc3d1a
Contents?: true
Size: 1.02 KB
Versions: 2
Compression:
Stored size: 1.02 KB
Contents
module ItunesApi module Music # Retrieves album tracks info. class Album attr_accessor :name include Request def initialize(name, filtering_options = {}) @name = name @filtering_options = filtering_options end def tracks @tracks ||= filtered_results.sort_by { |track| track['trackNumber'] } end def apple_music? tracks.any? { |track| track['isStreamable'] } end private def album_id @album_id ||= @filtering_options[:album_id] end def artist_id @artist_id ||= @filtering_options[:artist_id] end def filtered_results @filtered_results ||= results.find_all do |result| (!album_id || result['collectionId'] == album_id) && (!artist_id || result['artistId'] == artist_id) end end def query_values { attribute: 'albumTerm', entity: 'musicTrack', term: name }.merge(super) end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
itunes_api-0.1.0 | lib/itunes_api/music/album.rb |
itunes_api-0.0.4 | lib/itunes_api/music/album.rb |