apple_music_library 0.11.0 → 0.12.0

Sign up to get free protection for your applications and to get access to all the features.
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