ronnie 0.7.6 → 0.8.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.
Files changed (46) hide show
  1. data/README.md +28 -134
  2. data/banner.txt +79 -0
  3. data/lib/ronnie/client.rb +4 -0
  4. data/lib/ronnie/client/activities.rb +17 -0
  5. data/lib/ronnie/client/albums.rb +35 -1
  6. data/lib/ronnie/client/artists.rb +27 -1
  7. data/lib/ronnie/client/playlists.rb +8 -0
  8. data/lib/ronnie/client/tokens.rb +13 -0
  9. data/lib/ronnie/client/tracks.rb +8 -0
  10. data/lib/ronnie/version.rb +1 -1
  11. data/spec/fixtures/cassettes/Ronnie_Client_Users/_activities/Retrieve_everyone_Activity_Stream/.yml +562 -0
  12. data/spec/fixtures/cassettes/Ronnie_Client_Users/_activities/Retrieve_friends_Activity_Stream/.yml +242 -0
  13. data/spec/fixtures/cassettes/Ronnie_Client_Users/_activities/Retrieve_user_Activity_Stream/.yml +339 -0
  14. data/spec/fixtures/cassettes/Ronnie_Client_Users/{_user/Retrieve_User → _create_token/create_playback_token_}/.yml +18 -15
  15. data/spec/fixtures/cassettes/Ronnie_Client_Users/_find_user/Find_user_by_e-mail_address_/.yml +64 -0
  16. data/spec/fixtures/cassettes/Ronnie_Client_Users/_follow/{Follow_a_User → Follow_a_user_}/.yml +16 -10
  17. data/spec/fixtures/cassettes/Ronnie_Client_Users/_followers/Retrieve_followers_of_a_user_/.yml +95 -0
  18. data/spec/fixtures/cassettes/Ronnie_Client_Users/_following/Retrieve_users_following_another_user_/.yml +95 -0
  19. data/spec/fixtures/cassettes/Ronnie_Client_Users/_following/Retrieve_users_following_authorized_user_/.yml +156 -0
  20. data/spec/fixtures/cassettes/Ronnie_Client_Users/_follows_/Authorized_user_is_following_a_user_/.yml +156 -0
  21. data/spec/fixtures/cassettes/Ronnie_Client_Users/_heavily_rotated_albums/retrieve_heavily_rotated_albums_/.yml +165 -0
  22. data/spec/fixtures/cassettes/Ronnie_Client_Users/_heavily_rotated_artists/retrieve_heavily_rotated_artists_/.yml +101 -0
  23. data/spec/fixtures/cassettes/Ronnie_Client_Users/_heavy_rotation/Retrieve_the_most_popular_albums_for_a_user_/.yml +160 -0
  24. data/spec/fixtures/cassettes/Ronnie_Client_Users/_heavy_rotation/Retrieve_the_most_popular_albums_for_a_user_s_friends_/.yml +167 -0
  25. data/spec/fixtures/cassettes/Ronnie_Client_Users/_heavy_rotation/Retrieve_the_most_popular_albums_for_everyone_/.yml +165 -0
  26. data/spec/fixtures/cassettes/Ronnie_Client_Users/_heavy_rotation/Retrieve_the_most_popular_artists_for_a_user_/.yml +102 -0
  27. data/spec/fixtures/cassettes/Ronnie_Client_Users/_heavy_rotation/Retrieve_the_most_popular_artists_for_a_user_s_friends_/.yml +165 -0
  28. data/spec/fixtures/cassettes/Ronnie_Client_Users/_heavy_rotation/Retrieve_the_most_popular_artists_for_everyone_/.yml +165 -0
  29. data/spec/fixtures/cassettes/Ronnie_Client_Users/_new_releases/Retrieve_new_releases_/.yml +274 -0
  30. data/spec/fixtures/cassettes/Ronnie_Client_Users/_search_users/Search_users_/.yml +66 -0
  31. data/spec/fixtures/cassettes/Ronnie_Client_Users/_top_albums/retrieve_the_site-wide_most_popular_albums_/.yml +265 -0
  32. data/spec/fixtures/cassettes/Ronnie_Client_Users/_top_artists/retrieve_the_site-wide_most_popular_artists_/.yml +141 -0
  33. data/spec/fixtures/cassettes/Ronnie_Client_Users/_top_playlists/retrieve_the_site-wide_most_popular_playlists_/.yml +184 -0
  34. data/spec/fixtures/cassettes/Ronnie_Client_Users/_top_tracks/retrieve_the_site-wide_most_popular_tracks_/.yml +255 -0
  35. data/spec/fixtures/cassettes/Ronnie_Client_Users/_unfollow/{Unfollow_a_User → Unfollow_a_user_}/.yml +15 -9
  36. data/spec/fixtures/cassettes/Ronnie_Client_Users/{_followers/Retrieve_Followers_of_a_User → _user/Retrieve_authorized_user_}/.yml +21 -15
  37. data/spec/fixtures/cassettes/Ronnie_Client_Users/_user/Retrieve_user_/.yml +64 -0
  38. data/spec/ronnie/client/activities_spec.rb +32 -0
  39. data/spec/ronnie/client/albums_spec.rb +26 -2
  40. data/spec/ronnie/client/artists_spec.rb +17 -1
  41. data/spec/ronnie/client/collections_spec.rb +1 -1
  42. data/spec/ronnie/client/playlists_spec.rb +9 -1
  43. data/spec/ronnie/client/tokens_spec.rb +22 -0
  44. data/spec/ronnie/client/tracks_spec.rb +10 -2
  45. data/spec/ronnie/client/users_spec.rb +17 -17
  46. metadata +63 -10
data/README.md CHANGED
@@ -1,10 +1,18 @@
1
- # ronnie [![Build Status](https://secure.travis-ci.org/2a6U37Nn/ronnie.png)](http://travis-ci.org/2a6U37Nn/ronnie) [![Code Climate](https://codeclimate.com/badge.png)](https://codeclimate.com/github/2a6U37Nn/ronnie)
1
+ # ronnie [![Build Status](https://secure.travis-ci.org/2a6U37Nn/ronnie.png?branch=master)][travis] [![Dependency Status](https://gemnasium.com/2a6U37Nn/ronnie.png?travis)][gemnasium] [![Code Climate](https://codeclimate.com/badge.png)][codeclimate]
2
2
 
3
- Library for accessing the Rdio API from Ruby. Chirp, chirp!
3
+ [travis]: http://travis-ci.org/2a6U37Nn/ronnie
4
+ [gemnasium]: https://gemnasium.com/2a6U37Nn/ronnie
5
+ [codeclimate]: https://codeclimate.com/github/2a6U37Nn/ronnie
6
+
7
+ Library for accessing the Rdio API from Ruby.
4
8
 
5
9
  ## Installation
6
10
 
7
- gem 'ronnie', '~> 7.6.0'
11
+ gem 'ronnie', '~> 8.0.0'
12
+
13
+ ## API Documentation
14
+
15
+ * [http://rdoc.info/gems/ronnie](http://rdoc.info/gems/ronnie)
8
16
 
9
17
  ## Usage
10
18
 
@@ -12,152 +20,38 @@ Library for accessing the Rdio API from Ruby. Chirp, chirp!
12
20
 
13
21
  ### OAuth
14
22
 
15
- **Note**—the following constants are examples. You’ll need to [register your application](http://developer.rdio.com) with Rdio to retrieve a unique `CONSUMER_KEY` and `CONSUMER_SECRET`. If you’d like to request authorized resources, you’ll need to create a `OAUTH_TOKEN` and `OAUTH_TOKEN_SECRET`.
16
-
17
23
  #### Authentication
18
24
 
25
+ The following constants are **examples**.
26
+
27
+ You’ll need to [register your application](http://developer.rdio.com) with Rdio to retrieve a unique `CONSUMER_KEY` and `CONSUMER_SECRET`.
28
+
19
29
  CONSUMER_KEY = 'q32tvp74n5hazpbr93tbjkem'
20
30
  CONSUMER_SECRET = 'nXcryfbVDP'
21
31
 
22
- client = Ronnie::Client.new consumer_key: CONSUMER_KEY,
23
- consumer_secret: CONSUMER_SECRET
32
+ @client = Ronnie::Client.new consumer_key: ENV['CONSUMER_KEY'],
33
+ consumer_secret: ENV['CONSUMER_SECRET']
24
34
 
25
35
  #### Authorization
26
36
 
37
+ If you’d like to request authorized resources, you’ll need to create a `OAUTH_TOKEN` and `OAUTH_TOKEN_SECRET`.
38
+
27
39
  OAUTH_TOKEN = 'zd565qbzvwadxtd4fr3bpcda3ym42shwcxsbyu4t49gv6xxjhp7tjvre4xwr8gue'
28
40
  OAUTH_TOKEN_SECRET = 'baA2KgCSAW3D'
29
41
 
30
- client.token = OAUTH_TOKEN
31
- client.token_secret = OAUTH_TOKEN_SECRET
32
-
33
- ## API
34
-
35
- ### Albums
36
-
37
- #### Retrieve Album
38
-
39
- client.album('a610550')
40
-
41
- #### Find Albums by Artist
42
-
43
- client.find_albums_by_artist('r235282')
44
-
45
- #### Find Albums by Label
46
-
47
- client.find_albums_by_label('')
48
-
49
- #### Find Albums by UPC
50
-
51
- client.find_albums_by_upc('652637001228')
52
-
53
- #### Search Albums
54
-
55
- client.search_albums('Clear Moon')
56
-
57
- ### Artists
58
-
59
- #### Find Artists by Label
60
-
61
- client.find_artists_by_label('l2270')
62
-
63
- #### Search Artists
64
-
65
- client.search_artists('Mount Eerie')
66
-
67
- ### Playlists
68
-
69
- #### Retrieve Playlists by User
70
-
71
- client.playlists('s112675')
72
-
73
- #### Retrieve Playlists by Authorized User
74
-
75
- client.playlists
76
-
77
- #### Search Playlists
78
-
79
- client.search_playlists('AirR&B&B')
80
-
81
- #### Retrieve Playlist
82
-
83
- client.playlist('p87188')
42
+ @client.token = OAUTH_TOKEN
43
+ @client.token_secret = OAUTH_TOKEN_SECRET
84
44
 
85
- #### Create a Playlist
45
+ ### Requests
86
46
 
87
- client.create_playlist(
88
- 'Your Ecclesiastical Adolescence',
89
- 'Music performed by Winona Ryder as Lelaina Pierce.',
90
- ['t20680151', 't20680150']
91
- )
47
+ @client.search_artists('Mount Eerie')
92
48
 
93
- ##### Required Arguments
49
+ ## Contributions
94
50
 
95
- * **Name** (String): playlist name.
96
- * **Description** (String): playlist description.
97
- * **Tracks** (Array): playlist contents.
98
-
99
- #### Delete a Playlist
100
-
101
- client.delete_playlist('p87188')
102
-
103
- ### Tracks
104
-
105
- #### Find Tracks by Artist
106
-
107
- client.find_tracks_by_artist('r235282')
108
-
109
- #### Find Tracks by ISRC
110
-
111
- client.find_tracks_by_isrc('GBAYE0200771')
112
-
113
- #### Search Tracks
114
-
115
- client.search_tracks('Through The Trees pt. 2')
116
-
117
- ### Users
118
-
119
- #### Retrieve User
120
-
121
- client.user('s112675')
122
-
123
- #### Retrieve Authorized User
124
-
125
- client.user
126
-
127
- #### Find User by E-mail Address
128
-
129
- client.find_user('allen.goodman@me.com')
130
-
131
- #### Search Users
132
-
133
- client.search_users('Allen Goodman')
134
-
135
- #### Retrieve Followers of a User
136
-
137
- client.followers('s112675')
138
-
139
- #### Retrieve Followers of Authorized User
140
-
141
- client.followers
142
-
143
- #### Retrieve Users Following Another User
144
-
145
- client.following('s112675')
146
-
147
- #### Retrieve Users Following Authorized User
148
-
149
- client.following
150
-
151
- #### Follow a User
152
-
153
- client.follow('s112675')
154
-
155
- #### Unfollow a User
156
-
157
- client.unfollow('s112675')
158
-
159
- ## Tests
51
+ ### Installation
160
52
 
161
53
  $ bundle install
162
54
 
163
- $ bundle exec foreman run rspec
55
+ ### RSpec
56
+
57
+ $ bundle exec rspec
@@ -0,0 +1,79 @@
1
+
2
+ MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMNMMMMMM8MMMMMNNNNMMMMMMMMMMMMNMMMMMMMMMDMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
3
+ MMMMMMMMMMMMMMMMMMMMMMMMMMNMMNMMMMMMMMNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
4
+ MMMMMMMMMMMMMMMMMMMMMMMMMMMNMMMMNMMMNNMMMMNMMMMMMMMMMMMMMMMMMMMDMMMMMMMMMMMMMMMMMMMMNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
5
+ MMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMNNMMMMMNNDNMMMMMMMMMMMMMMMMMDMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
6
+ MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNMMMMMMMMMMMNMMMMMMMMMMMMMMMMMMNMMMNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
7
+ MMMMMMMMMMMMMMNMMMMMMMM8NNM8NMMNNNMM8MMMMMMMMMMMMMMMNNMMMNMNMMMMMMNMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
8
+ MMMMMMMMMMMMMMMMMMMMMMMMNNMMMNNMNMMMMMMMMNMMMMMMMMMN8DDDNNNNDMNMMMMNNMNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
9
+ MMMMMMMMMMMMNMNMMMMMMMMMMMMDNDNMMMMMMMMMMNMMMMMNMNONDDD8DD88DDNDD8MNNMNMMMMMMMMMNNMMMMMNMNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
10
+ MMMMMMMMMMMMNN8NMMMMNMMMDMNNMMMMMMMMMMMN8DMMMM$MNN8ODO$$Z8D8O8O88DDMNNNMMMMMMMNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
11
+ MMMMMMMMMMMMNNNMMMMNNNMMMNNNMMMMMMNMMMMMN8NMMNNN8ODOO$$Z?NO$OZZZ$O8ZDNNMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
12
+ MMMMMMMMMMNMMNNMMMNNMMMMNMMMMMMMMMMNMMNNNMNMMND88O877I?=I?OZ?$?+7I$Z$O8NMNMMMNMMNDMMMMMMMM8NMMMMMMMMMMMMMMMMMMMMMMMMMMMM
13
+ MMMMMMMMMMMMMMMNMMMNNMMNNNMMMMMMMMMMNMMMN8ODNO8$IO8+?~~+==I++?$Z$77ZZ$O8NMMNNDMM8MOMMMMMMNNDDMMMMMMMMMMMMMMMMMMMMMMMMMMM
14
+ MMMMMMMMMMNNMMMMNMMMMMMM8MMMMMMMMNNMMNDOO$ODD87$Z$Z+?=+~~~:=+?=7+?$$$7$NODNMMNNMMMMMMDMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
15
+ MMMMMMMMMMMNMMMNMNNNMNMNNMMMMMMMMMMNND8D87OZDZIZD=7++:~~+~==+~==I?I7ZZOZNZ8NMNMMMNMMNNMNMMMMMMMNMD8MMMMMMMMMMMMMMMMMMMMM
16
+ MMMMMMMMMMNMMNNNNNMNNMMMMNMMMNNNNMNNNDDOODODDION?I?~=+~::~:=+=~+~+?$ZD7ZZDO88NMMMMMMMMMMMMMNNMMNMNNMMMMMMMMMMMMMMMMMMMMM
17
+ MMMMMMMMMNMMNNNMMNNMMNMMNMNMNMMNMMDMDNDIO8ND88Z?+~=?:~,,::~:~=+??++IIZ$$$DD8D8NMMMMMMMMMMMMMMNNNNMMMMMMMMMMMMMMMMMMMMMMM
18
+ MMMMNNNNNMNNNNNDNNMNNMMNNMDMDMNMNMMDMMD88ZDD$7?+++=::,,::~=~:==+=?+==?7$ZZD8NDMMMMMMMNNMMMMNMMMMDMNMMMMMMMMMMMMMMMMMMMMM
19
+ MMMMMMMNMNMNNMMNNNMMMM8NNNNDNMOMDNDODMN888D+?=~~+=,,:..,:,:~::~=+?~~~=?77O88DMMMMMMMMMMMMMMNMMMMMMDMMMMMMMMMMMMMMMMMMMMM
20
+ MMNMMMMMMMNMMNNMMMMMMNMNN8NNNNDNNDOZZ8Z?I++++==~,,,,..:,,,,,,:~=+=~~~~=$$ZNNNNMMMMMMMMMMNMMMNNMMMDNNNMMMMMMMMMMMMMMMMMMM
21
+ MMMMMMMMMNMMMMMMMMMMMMDMNONNMMNMM888Z7$I7$??~=:=:,,,,.,,..,:,,:~=+:~~=+I8$ZO8NMMMMMMMMMMMMNMNMNMMDMMMMMMMMMMMMMMMMMMMMMM
22
+ MMMMMNMMMNMNMNMMMNNNN8MNMMMMMMNND8Z$III???+?=~:~:.:,...,,:,:::~==+::~=+I7$O88NMMMMMMMMMMMMMMNDMNMMMMMMMMMMMMMMMMMMMMMMMM
23
+ MNMMNNMMMMMMMNMMNMNNMNNMNNMMMM8M8ZO7III???=+~~:::,.,,,,,~::,,~~~=+~~~=+I7$$ZOMMMMMMMMMMMMNMMNMMMMMMMMMMMMMMMMMNND7=+I8MN
24
+ MMMNMMMMMNMMMMNMMMMMMNMNNNNMMMOMZZO7I?+?++=~~~~::,.,.,:,,,,,:~~=+?=~~=?7$$ZO8NMMMMMMMMMMMMNMMNNMMMMMMMMMMMMMMNNO?~~~~IDN
25
+ MDMMNMMMNMNNMMNNNNNMNNMMNMMMMO8D$D8Z7I+++==~~~::=:,:::,,,:,:=~===?=~~==?$ZOZ8NMMMMMMMMMNDNNMNNMMMNNNMMMMMMMNND$=~~:~~?8M
26
+ MNNMMNMNNNMNDDMMMMNMDNMMNNNNMZ7DNOOOZZI7I?=~~~~:,,::::,,,:,:~=~~=?=::~=+Z8ZZONMNMMMMMMNNMMMMNMMNMMMMMMMMMMNND$=~::~~+$NN
27
+ NNNNMNNNDNMMNNMMMNMMNMNMNNNNDZZN8Z$77OZ8OZ+===~=~,.,.,,,,,::~~:=+?~::~=+ZDO7DNMMMMMMMMMMMMNNNMMNNNMMMMNMMMNN$+~::~==7DMN
28
+ NMMMMNMNMMMMMMMMNMNMMMMMMNMMNOO$$$Z$88877OD8OI+==~=::,=~=:=:~+$OOI=~~==+$D8$M8MMMMMMMMMMMMMMNMMMNMNNNM8MNN8$=::::~=78NNN
29
+ NMMMMMMMMMMNMMMNNNMMNNMMMMMMDOZ$$$Z78$$O$N$8DZ$=+?+~:==~+~??Z888O7======7OO$MOMNMMMMMNNNMNMNNNDNNNNNNMNNNZ+~:,,:~=IONNNN
30
+ NMMMMMMMMN8OMNMMNNMMMNMNNNMND87$$$OZ77I+O?7OOOD7??==:+++?IZ888888Z=~~~~=IOOZNDNNMMMMMNNNNNNMMNMMNNNNNNN87~:::,,~=+ONNNNN
31
+ NMNNMMMMMMMMMNNNNNNMNMNMNMMD8877IZ$77++??=III?77?+==~++I8OI?,?7DZ7=~~~~~+IO$7ONNMNNMNDM8DNMNMMNNNNNNND?~~:::::~~?8NNNNNN
32
+ MNMMNNNNMMMMMNMMNMMMNMNNNMONOO$I?I7?III7III$I$77$++~=+$IO7$77I7I$?~::~~~+$Z7$8NNNNNNNNNNNNNNMNNNNNNN8?~~::,:::~?8NNNNNNN
33
+ MNMMMMNDNNDNDMNMMMMMMMMMDMN88O$7?I?++=~=+I?I?77I?+~:=II$7$7ZI?~=?+~:~::::~I7$OZ7+=+IZDNNNNNNNNNNDN87~::::,,:~=7DNNNNNNNN
34
+ NMMMNNDMMNMM8NMMMMMMMMMMDMND88$7I?7?+~~~==++?II7?=:+=?7II$?7?+77I=~::,,:,,,?7I?~~~~=+$8NNNNNNNNNN8+:,:::,:~=?$NDNNNNNMMM
35
+ MMMMNM8MNNMMNMNMMMMMMMMNMNMD8O$$77I?+=:::~~++II7==:+=?I77III$II7?=:,,,:,,,.,~+=~~~~~=?$Z77$ODNNN8=,,:::,:~+?ZDNNNNNMNMMM
36
+ NMMMMNNNMMMMMNMMMMMMMNMNNOMNNO7777I??==~===??I?7+~=????I??+==+====:,,,::,,,,:++~:~~==++:::~=?Z8O:,,,:::~~=I8NNNNNNMMMMMM
37
+ MMMMMMNMMNMNMNMMMMMNMNDMDMMNDDI$$7?I?+++==++I77I+:=?II?I?++:~~=+=~,,,::::,,,:++::::==+~:,,:~+7O?,::::~~~+7DNNNNNNNMMMMMM
38
+ MMMMNMMMMMMNMMMMMNMMMNN8MNNMND7777II?++=+?++$77?=~+?77I7?+===~==~~,:::::,,:::~=::::~~+~,,:~~=7O+~:~::~=?ZDNNNNNNNNMMMMMM
39
+ DMMMMMMMMMMMNMNMMMMMMMNNMMNNMO777$I?++?++?+II7?+::=?I$77?+==+=~:,,,::::~:~::~+=~::~~?=:,::~=+7Z=:::~~=$DNNNNNNNNMMMMMMMM
40
+ MDMMMMMMMMMDMMMMMMMMMMMNNMNMN87$777I???I?++$$I=:,:=+?$77I+=+=~:,,..,,:::~~=~=+~,,,,~?~,,::~=?Z7~:~~=?$NNNNNNNNNNMMMMMMMM
41
+ MMMMMMMMNMMMNMMMMMMMMMMMMMNNND$$$$7II7?IIII+ZI+++=++I$7$?:=+:,,,..,,,::,,,::~=:,,,:~+~,,::~~78+:=~~78NNNNNMMMMMMMMMNMMMM
42
+ MMMMMMMMMNMMNNNNNDMMMMMMMDDNMMD7$$II$I7I7II$?77?=++7O$$$=++=,,....,,,:::::::~~:,:~=?=:,,,:~+$O=~~:?8NNNNNNMMMMMMMMMMMMMM
43
+ MMMMMMNNMNMMMMMNNNDMMMMMMNMN8MDD$$I?Z77I7I77+III$ZZ??7I+++~:,......,,::,,::~~:::~=?7~:,,,:=IZO+~:+8DDNNNNMNMMMMMMMMMMMMM
44
+ MMMMMMN$D8MMNMMMMMMNMMMMMMDMMNN8ZZI?$ZZ$$I777??+I?==?+?I?~:,,.....,,:::::::~:,..,,:~=~:::~?ZOI~=7DDNNNNNMMNMMMMMMMMMMMMM
45
+ MMMMMMD8$DNMMMMMMNNMMMMNMNMMMMDDZZI?I7$OZ$I??777I?=+IIII+~:,......,,::::,,,,:...,,,:~=~~==$OI=?7NNNNNNMNMMMMMMMMMMMMMMMM
46
+ DMMMMMMNNMNMNMMMMNNMNMMNNNMMNNMONO7II$$$ZZI+?+=?7IIII7I?=::,,....,,,::::,,,:,...,,,,:~=++?O$??$8NNNNNNMNMMMMMMMMMMMMMMMM
47
+ MMMMMNMNMMNMMMMMMMMMNNNNNMMMMMMNON$IIII77ODOOZO8ZOZOZZ7+==::,....,,,,::,,,,,,,,....:~~=I$Z$?IONDNNNNNNMMMMMMMMMMMMMMMMMM
48
+ MNNNNDNNNNNNMNMNNNMMNNNNNNMMMMMMD88IIII7=DZOOZOZDD8Z$O7++~:,...,,,,::,,:,,,::~,,.,,:::~+$8$7ZNDNNNNMMMMMMMMMMMMMMMMMMMMM
49
+ =IINNNDNNDDDNNMMNNNMMNNNNNMMMMMDMNOZIII$Z8DIODDDD8I+8O??=~:,...,,,,:,,,,:~==~==::,,.,,::+ODNNNNNNNNMMMMMMMMMMMMMMMMMMMMM
50
+ =~==NNNDNNNZONNMNNNMMNMMMMMMMMMMMNM8$?I8ODNMDO$D8ZIOD7+=~:,,....,.,,,,,:~~~::::=,,..,,,:?8NNNNNNNNNMMMMMMMMMMMMMMMMMMMMM
51
+ ==+=+8ODMNNNND:88Z8MMMMMMMMMMMNMNMDNDNNNNMM8Z78DOZZD8?+~:,,,.,,...,,,,:~::,,,.,~=:,.,,:+$DNNNNNNNNMMMMMMMMMMMMMMMMMMMMMM
52
+ =~==+?DM8NNNNNDMNNNNNNND887INMMMMMMMMMMMMNOI78DZO$ODO?=~::,,,,.,..:,,,,:,......:++====?$ODNNNNNNMNMMMMMMMMMMMMMMMMMMMMMM
53
+ =====+?ZMZ8NM8DNNNND$OO8NMMMNNMMMMMMMMMMMD??88Z$$?ZDOI=~~::,,,...,:,,,,,,,...,.:~====+I$O8NNNNNNMMMMMMMMMMMMMMMMMMMMMMMM
54
+ +++++=?7$NMDDNNDDN8$7ODDNNNNNNNMMMMMMMMMD7?ODOO8O7$DO7+=~~:::,,,,:,,.,,,,,,,,.,,:~~~=?I$ZONNNNNNMMMMMMMMMMMMMMMMMMMMMMMM
55
+ OOZZZOOO88OOO88D$$ZNNNNNNNNMMMMMMMMMMMMN$=78OON88Z=I8O==+==~~::::~,,,,,:,,,,,,,,,::~=+I7ZDNNMMMMMMMMMMMMMMMMMMMMMMMMMMMM
56
+ 88888OOOZZZZZODOI7NNMMMMMMMMMMMMMMMMMMMNI=OD8DMND8ODD8$==+++=~~~==:,,,,:,,,,:::,,::~=?IODNNNMMMMMMMMMMMMMMMMMMMMMMMMMMMM
57
+ ZZOOZZ$77777ONO?IMMMMMMMMMMMMMMMMMMMMMND$IDD8NMMDDDDD88O?:~~=+?+==++=:::,,,,,:~~=?7$O8NNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
58
+ ZZZZ$$I7III$D877MMMMMMMMMMMMMMMMMMMNMMMN8ZDNNNNNNNNNNNDD8I:::~~:~=?I7?+~:,,,,:~+IZ8NNMNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
59
+ ZZ777I????7OND~$MMMMMMMMMMNNMMMMMMMMNMMMN8DMMMMMDOODDDDNDNI:~::~::~=+III=::~~=7ODNNNMMMMMMMMMMMNMMMMMMMMMMMMMMMMMMMMMMMM
60
+ 7II?????II?8OO=MNMMMMMMMMN8DMMMMMMMMMMMMMMMMNMMMMMNMND8NNNND7++++++II7$ZZ$$Z8DMNMNMMMMNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
61
+ ?I?++?+??+IDZ7+DNMMMMMMMMN8DMMMMMMMMMMMMMMMMMMMMDNMMMM8DND8DNNN8OZZO8NNNNNNNNNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
62
+ +?+?+?++=+7D$87NMMMMMMMMMD8DMMMMMMMMMMMMMMMMMMMMMMMMMMDNZID8Z88D8DDDDNMMMMMMMMMMMMMMMNMMMMMMMMMMDMMMMMMMMMMMMMMMMMMMMMMM
63
+ =?+?+++=+=IDZI$MNNMMMMMMMMNNNMMMMMMMNMMMMMMMMMMMMMMMMMMMMMNN8NDD888ODMMMMMMMNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
64
+ +?++======+NDI+NNMMMMMMMNMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNND8O$I7OMMMMMMMMMMMMMMMMMMMMMNMMMMMMN8MMMMMMMMMMMMMMMMMMMMMM
65
+ ++=+=======8D?=7MNMMNNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNDD887?=+=:++NMMMMNNMNMMMMMMMMMMMMMMMMMNMMNMMMMMMMMMMMMMMMMMMMMMM
66
+ =+=+=======ZNZ?7DNNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNDZI+~~~~::=?MMMMMNMMMMMNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
67
+ ++=+===+===ID8D8DNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMND8Z7+~~==??+ZNNMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMNMMMMMMMMMMMMMMMMMMM
68
+ ++==++==+++I888NNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNDDO$??=~=~~=~~~+DNMMN+NMNMMMMMMMMMMMMMMMMMMMMMMMM$~NMMMMMMMMMMMMMMMMMM
69
+ ?++==+==+==?$=?Z7NMMMMMMMMMMMMMMMMMMMMMMMMMMNNDD8Z77I=+======~:~~+DMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
70
+ +?=++?==++$O7OO878ODMMMMMMMMMMMMMMMMMMMMMMMMN8ZI??+==~::~~~~~=~~+?NMMMNMMMMMMMMMMMMMMMMMMNMMMMMMNMMNNMMMMMMMMMMMMMMMMMMM
71
+ +??++++=??7ODNNN8D8=$ZZZMMMMMMMMMMMMMMMMMMMDO7??I?7I?==~~=?+==?+?7MMNMD8MMMMMMMMMMMMMMMNNNMMMMMZ??$NNMMMMMMMMMMMMMMMMMMM
72
+ ??II?????++++IZONMNOO8OZ8$~+DNNMNNDDMMMMMM8OODDNZ=,.~Z8++~~=+=+78DMNMNDNNMONMDMMMMMMMMMMMNMNNN????I7NNNMNMMMMMMMMMMMMMMM
73
+ ?+?II??I+???II7777Z8MMMMMMDD$OMNNMMMMMMMMMMNNN8N8I,.,,$8+~~=++IODN8MMZMNMMNMMMMNMMMMNMMMNNMN$???I77$$ONNMMMMMMMMMMMMMMMM
74
+ ??I77?II7777$Z$777II777ZDNMM$MMMMMMMMMMNMNMNDDDN87,.,,$$?====?Z8DN$DMMMMMMMMMMMMMMMMMMMMMNN$=???II77$$MNNNMMMMMMMMMMMMMM
75
+ 777$7I77$$ZZ$7777$$ZZ$ODMMMMMMMMMMMMMNN888NNNNOM8$:.,,O$$=~~+?Z8NN$NMMMNMMMNNMMMMMMMDNNNNNN=++??I77I7ZMDNNMMMMMMMMMMMMMM
76
+ ZZZZZ7ZZ$$77$$Z8DNMMMMMMMMMMMNNNNNMMMZZ8DN8ODMMN8O:.,:O87=~=I78DMMONMMMNMMNNMNMMMMMMMNNNNN====++?I777$D8NNNMMMMMMMMMMMMM
77
+ $ZZZZ$ZZZ8NNMMMMMMMMMMMMMMMMNMNNNMMMMM=NDDD88DMMD8+..:ODO==?7Z8MNM8DNOMMNNMMNMMMMMMMNNNDNN:~~==+?II77$8INMNNMMMMMMMMMMMM
78
+ ODNMMMMMMNNMMMMMMMMMMMMMMMNNNNNNNMMMMDNDD8D8O8NDN8?=7ZDNN$$7N8MNMZNZIMMMMMMMMMMMMMMMMMOMZNZZZZOO88DDDDMMMMMMMMMMMMMMMMMM
79
+ Ronnie James Dio
@@ -2,12 +2,14 @@ require 'ronnie/authentication'
2
2
  require 'ronnie/connection'
3
3
  require 'ronnie/request'
4
4
 
5
+ require 'ronnie/client/activities'
5
6
  require 'ronnie/client/albums'
6
7
  require 'ronnie/client/artists'
7
8
  require 'ronnie/client/collections'
8
9
  require 'ronnie/client/collections/albums'
9
10
  require 'ronnie/client/collections/artists'
10
11
  require 'ronnie/client/playlists'
12
+ require 'ronnie/client/tokens'
11
13
  require 'ronnie/client/tracks'
12
14
  require 'ronnie/client/users'
13
15
 
@@ -27,12 +29,14 @@ module Ronnie
27
29
  include Ronnie::Connection
28
30
  include Ronnie::Request
29
31
 
32
+ include Ronnie::Client::Activities
30
33
  include Ronnie::Client::Albums
31
34
  include Ronnie::Client::Artists
32
35
  include Ronnie::Client::Collections
33
36
  include Ronnie::Client::Collections::Albums
34
37
  include Ronnie::Client::Collections::Artists
35
38
  include Ronnie::Client::Playlists
39
+ include Ronnie::Client::Tokens
36
40
  include Ronnie::Client::Tracks
37
41
  include Ronnie::Client::Users
38
42
  end
@@ -0,0 +1,17 @@
1
+ module Ronnie
2
+ class Client
3
+ module Activities
4
+ # Retrieve activity stream.
5
+ #
6
+ # @param user_id [String]
7
+ # @param scope [String]
8
+ # @example
9
+ # @client.activities('a610550')
10
+ def activities(user_id, scope, options={})
11
+ required_options = { user: user_id, scope: scope }
12
+
13
+ post('getActivityStream', required_options.merge!(options))
14
+ end
15
+ end
16
+ end
17
+ end
@@ -44,7 +44,41 @@ module Ronnie
44
44
  # Ronnie.search_albums('Clear Moon')
45
45
  def search_albums(query, options={})
46
46
  post('search', { query: query, types: 'Album' })
47
- end
47
+ end
48
+
49
+ # Retrieve new releases.
50
+ #
51
+ # @example
52
+ # Ronnie.new_releases
53
+ def new_releases(options={})
54
+ post('getNewReleases')
55
+ end
56
+
57
+ # retrieve heavily rotated albums.
58
+ #
59
+ # @example
60
+ # Ronnie.heavily_rotated_albums
61
+ def heavily_rotated_albums(user_id=nil, friends=nil, options={})
62
+ if user_id
63
+ required_options = { user: user_id, type: 'albums' }
64
+
65
+ if friends
66
+ required_options = required_options.merge!({ friends: friends })
67
+ end
68
+ else
69
+ required_options = { type: 'albums' }
70
+ end
71
+
72
+ post('getHeavyRotation', required_options.merge!(options))
73
+ end
74
+
75
+ # retrieve the site-wide most popular albums.
76
+ #
77
+ # @example
78
+ # Ronnie.top_albums
79
+ def top_albums(options={})
80
+ post('getTopCharts', { type: "Album" })
81
+ end
48
82
  end
49
83
  end
50
84
  end
@@ -17,7 +17,33 @@ module Ronnie
17
17
  # Ronnie.search_artists('Mount Eerie')
18
18
  def search_artists(query, options={})
19
19
  post('search', { query: query, types: 'Artist' })
20
- end
20
+ end
21
+
22
+ # retrieve heavily rotated artists.
23
+ #
24
+ # @example
25
+ # Ronnie.heavily_rotated_artists
26
+ def heavily_rotated_artists(user_id=nil, friends=nil, options={})
27
+ if user_id
28
+ required_options = { user: user_id, type: 'artists' }
29
+
30
+ if friends
31
+ required_options = required_options.merge!({ friends: friends })
32
+ end
33
+ else
34
+ required_options = { type: 'artists' }
35
+ end
36
+
37
+ post('getHeavyRotation', required_options.merge!(options))
38
+ end
39
+
40
+ # retrieve the site-wide most popular artists.
41
+ #
42
+ # @example
43
+ # Ronnie.top_artists
44
+ def top_artists(options={})
45
+ post('getTopCharts', { type: "Artist" })
46
+ end
21
47
  end
22
48
  end
23
49
  end
@@ -154,6 +154,14 @@ module Ronnie
154
154
  def delete_playlist(playlist_id, options={})
155
155
  post('deletePlaylist', { playlist: playlist_id })
156
156
  end
157
+
158
+ # retrieve the site-wide most popular playlists.
159
+ #
160
+ # @example
161
+ # Ronnie.top_playlists
162
+ def top_playlists(options={})
163
+ post('getTopCharts', { type: "Playlist" })
164
+ end
157
165
  end
158
166
  end
159
167
  end
@@ -0,0 +1,13 @@
1
+ module Ronnie
2
+ class Client
3
+ module Tokens
4
+ # create playback token.
5
+ #
6
+ # @example
7
+ # Ronnie.create_token
8
+ def create_token(options={})
9
+ post('getPlaybackToken')
10
+ end
11
+ end
12
+ end
13
+ end
@@ -27,6 +27,14 @@ module Ronnie
27
27
  def search_tracks(query, options={})
28
28
  post('search', { query: query, types: 'Track' })
29
29
  end
30
+
31
+ # retrieve the site-wide most popular tracks.
32
+ #
33
+ # @example
34
+ # Ronnie.top_tracks
35
+ def top_tracks(options={})
36
+ post('getTopCharts', { type: "Track" })
37
+ end
30
38
  end
31
39
  end
32
40
  end
@@ -1,3 +1,3 @@
1
1
  module Ronnie
2
- VERSION = '0.7.6' unless defined?(Ronnie::VERSION)
2
+ VERSION = '0.8.0' unless defined?(Ronnie::VERSION)
3
3
  end