apple_music_library 0.11.0 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7b345adc65b1d7e12d09e6a7019a857b8abd77ae831420d92e33266b0106fd61
4
- data.tar.gz: a372d17051416b41edfd62095b5f09b35bd0ca580dffbf545650caac9c0283c8
3
+ metadata.gz: bd3e0f399519af81aa6cbcfe2b93ac6e1b46aed6c3bae8a3e7ececb38da228fa
4
+ data.tar.gz: 513c9a28c7ee88d54f4eac8775b8b521ea5809cd58f9e5dca88218c3cdddb69b
5
5
  SHA512:
6
- metadata.gz: 1261413cf1b0583017abcc2189f986927820a67faa1d970e70fbe42e4ecf27bfa41adaf3599829f210cbfd5f12b1dda8c544f935405a43dced50f8349f2d7a28
7
- data.tar.gz: 1cda8031165413f399bfa1eeaf58187063435f0a5598cf190b11cabc3785d7a45f0ce99d356e3176aad894ba48bcbb911cc183254ff821c136807bb669db867a
6
+ metadata.gz: cae55ca54cc8b379482da24e8d11f67c4b53c3d7735ac2e14d85930e3be5e4cc5fbef6e4b369799fd97d28941545093af5d39078a18010625d0550effa9cfbec
7
+ data.tar.gz: c8cd1e2cd3800896d2f76e7fd0576199f03f962fe5db1957758be9208f790a3222a9cfd2632de49e56bb8898ea7a184d5eba88a5c262234598e82aad1de33df7
data/CHANGELOG.md CHANGED
@@ -3,6 +3,10 @@
3
3
  ## [Unreleased]
4
4
  - Ability to print out playlist folder hierarchy
5
5
 
6
+ ## 0.12.0 - 2022-03-26
7
+ ### Added
8
+ - Added handling for smart versus regular playlists
9
+
6
10
  ## 0.11.0 - 2022-03-19
7
11
  ### Added
8
12
  - Added Decade model to retrieve track and album info per decade
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- apple_music_library (0.11.0)
4
+ apple_music_library (0.12.0)
5
5
  facets (~> 3.1)
6
6
  plist (~> 3.6)
7
7
 
data/README.md CHANGED
@@ -32,12 +32,28 @@ library = AppleMusicLibrary.new('path/to/Library.xml')
32
32
  # Count albums
33
33
  puts library.albums.count
34
34
 
35
- # Show playlist inside playlist folder
35
+ # Show playlists contained in a playlist folder
36
36
  playlist_folder = library.playlist_folder('Folder for Testing')
37
37
  playlist_folder.playlists.each do |playlist|
38
38
  puts playlist.name
39
39
  end
40
40
 
41
+ # List all playlists
42
+ library.playlists.each do |playlist|
43
+ puts playlist.name
44
+ end
45
+
46
+ # List only 'smart' playlists
47
+ library.playlists(:smart).each do |playlist|
48
+ puts playlist.name
49
+ end
50
+
51
+ # List all regular (not 'smart') playlists
52
+ library.playlists(:regular).each do |playlist|
53
+ puts playlist.name
54
+ end
55
+
56
+
41
57
  # Show tracks in a specific playlist
42
58
  playlist = library.playlist('XTC Favorites')
43
59
  playlist.tracks.each do |track|
@@ -88,10 +104,10 @@ end
88
104
 
89
105
  # Print a report on all decades in the library
90
106
  # e.g.
91
- # 1990-1999 - 7217 tracks on 1030 albums
92
- # 2000-2009 - 9083 tracks on 1876 albums
93
- # 2010-2019 - 4729 tracks on 1046 albums
94
- # 2020-2029 - 1074 tracks on 455 albums
107
+ # 1970-1979 - 336 tracks on 10 albums
108
+ # 1980-1989 - 816 tracks on 16 albums
109
+ # 1990-1999 - 300 tracks on 8 albums
110
+ # 2000-2009 - 110 tracks on 5 albums
95
111
  library.decades_report
96
112
 
97
113
 
@@ -54,8 +54,9 @@ module AppleMusicLibrary
54
54
  Genre.find_by_name(genre_name)
55
55
  end
56
56
 
57
- def playlists
58
- @playlists ||= Playlist.all
57
+ def playlists(filter = nil)
58
+ return Playlist.all unless filter
59
+ Playlist.send(filter)
59
60
  end
60
61
 
61
62
  def playlist(playlist_name)
@@ -37,6 +37,14 @@ module AppleMusicLibrary
37
37
  @@playlists.values
38
38
  end
39
39
 
40
+ def self.smart
41
+ @@playlists.values.select{|p| p.smart?}
42
+ end
43
+
44
+ def self.regular
45
+ @@playlists.values.select{|p| !p.smart?}
46
+ end
47
+
40
48
  def self.find_by_name(playlist_name)
41
49
  results = @@playlists.values.select{|p| p.name == playlist_name}
42
50
  if results.size == 1
@@ -59,6 +67,10 @@ module AppleMusicLibrary
59
67
  folder.present?
60
68
  end
61
69
 
70
+ def smart?
71
+ smart_info.present?
72
+ end
73
+
62
74
  def token
63
75
  :playlist
64
76
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module AppleMusicLibrary
4
- VERSION = "0.11.0"
4
+ VERSION = "0.12.0"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: apple_music_library
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.11.0
4
+ version: 0.12.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Todd Gehman
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-03-19 00:00:00.000000000 Z
11
+ date: 2022-03-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: awesome_print