ronnie 0.7.6 → 0.8.0

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