Sha256: 602fab030073c7f8c33844cc9f50514c5af3cb1527448c8d6ab1607397bc23f1

Contents?: true

Size: 883 Bytes

Versions: 1

Compression:

Stored size: 883 Bytes

Contents

module ItunesParser
  module Playlist

    # Shows all playlists in the doc.
    # Returns Array of Hashes, each Hash is a playlist.
    # Optional param `pretty` returns Array of Hashes with only IDs and Names.
    def playlists(pretty: false)
      _playlists = self.doc["Playlists"]

      unless pretty
        _playlists
      else
        _playlists.collect{|pl| {id: pl["Playlist ID"], name: pl["Name"] }}
      end
    end

    # Shows one playlist.
    # Returns Hash with playlist info.
    def playlist(id)
      playlists.select{|pl| pl["Playlist ID"] == id}.first
    end

    # Shows all tracks of a playlist.
    # Returns Array of Hashes, each Hash is a track.
    def playlist_tracks(id)
      tracks = []

      playlist(id)["Playlist Items"].each do |playlist_item|
        tracks << self.track(playlist_item["Track ID"])
      end

      tracks
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
itunes_parser-1.1.2 lib/itunes_parser/playlist.rb