Class: Sevendigital::ArtistManager
- Defined in:
- lib/sevendigital/management/artist_manager.rb
Overview
provides access to Artist related API methods (artist/*)
Instance Method Summary collapse
-
#browse(letter, options = {}) ⇒ Array<Artist>
calls artist/browse API method and returns Artist array.
-
#get_chart(options = {}) ⇒ Object
calls artist/chart API method and returns Artist array.
-
#get_details(artist_id, options = {}) ⇒ Artist
calls artist/details API method and returns Artist with populated details.
-
#get_releases(artist_id, options = {}) ⇒ [Artist]
calls artist/releases API method and returns Release array.
-
#get_similar(artist_id, options = {}) ⇒ Array<Artist>
calls artist/similar API method and returns Artist array.
-
#get_tags(artist_id, options = {}) ⇒ Array<Tag>
calls artist/tags API method and returns Tag array.
-
#get_top_by_tag(tags, options = {}) ⇒ Array<Artist>
calls artist/byTag/top API method and returns Artist array.
-
#get_top_tracks(artist_id, options = {}) ⇒ Array<Track>
calls artist/toptracks API method and returns Track array.
-
#search(query, options = {}) ⇒ Array<Artist>
calls artist/search API method and returns Artist array.
Methods inherited from Manager
Constructor Details
This class inherits a constructor from Sevendigital::Manager
Instance Method Details
#browse(letter, options = {}) ⇒ Array<Artist>
calls artist/browse API method and returns Artist array
71 72 73 74 |
# File 'lib/sevendigital/management/artist_manager.rb', line 71 def browse(letter, ={}) api_response = @api_client.make_api_request(:GET, "artist/browse", {:letter => letter}, ) @api_client.artist_digestor.list_from_xml_doc(api_response.item_xml("artists")) end |
#get_chart(options = {}) ⇒ Object
calls artist/chart API method and returns Artist array
79 80 81 82 |
# File 'lib/sevendigital/management/artist_manager.rb', line 79 def get_chart(={}) api_response = @api_client.make_api_request(:GET, "artist/chart", {}, ) @api_client.chart_item_digestor.list_from_xml_doc(api_response.item_xml("chart")) end |
#get_details(artist_id, options = {}) ⇒ Artist
calls artist/details API method and returns Artist with populated details
11 12 13 14 |
# File 'lib/sevendigital/management/artist_manager.rb', line 11 def get_details(artist_id, ={}) api_response = @api_client.make_api_request(:GET, "artist/details", {:artistId => artist_id}, ) @api_client.artist_digestor.from_xml_doc(api_response.item_xml("artist")) end |
#get_releases(artist_id, options = {}) ⇒ [Artist]
calls artist/releases API method and returns Release array
21 22 23 24 |
# File 'lib/sevendigital/management/artist_manager.rb', line 21 def get_releases(artist_id, ={}) api_response = @api_client.make_api_request(:GET, "artist/releases", {:artistId => artist_id}, ) @api_client.release_digestor.list_from_xml_doc(api_response.item_xml("releases")) end |
#get_similar(artist_id, options = {}) ⇒ Array<Artist>
calls artist/similar API method and returns Artist array
41 42 43 44 |
# File 'lib/sevendigital/management/artist_manager.rb', line 41 def get_similar(artist_id, ={}) api_response = @api_client.make_api_request(:GET, "artist/similar", {:artistId => artist_id}, ) @api_client.artist_digestor.list_from_xml_doc(api_response.item_xml("artists")) end |
#get_tags(artist_id, options = {}) ⇒ Array<Tag>
calls artist/tags API method and returns Tag array
89 90 91 92 |
# File 'lib/sevendigital/management/artist_manager.rb', line 89 def (artist_id, ={}) api_response = @api_client.make_api_request(:GET, "artist/tags", {:artistId => artist_id}, ) @api_client.tag_digestor.list_from_xml_doc(api_response.item_xml("tags")) end |
#get_top_by_tag(tags, options = {}) ⇒ Array<Artist>
calls artist/byTag/top API method and returns Artist array
51 52 53 54 |
# File 'lib/sevendigital/management/artist_manager.rb', line 51 def get_top_by_tag(, ={}) api_response = @api_client.make_api_request(:GET, "artist/byTag/top", {:tags => }, ) @api_client.artist_digestor.nested_list_from_xml_doc(api_response.item_xml("taggedResults"), :taggedItem, :artist) end |
#get_top_tracks(artist_id, options = {}) ⇒ Array<Track>
calls artist/toptracks API method and returns Track array
31 32 33 34 |
# File 'lib/sevendigital/management/artist_manager.rb', line 31 def get_top_tracks(artist_id, ={}) api_response = @api_client.make_api_request(:GET, "artist/topTracks", {:artistId => artist_id}, ) @api_client.track_digestor.list_from_xml_doc(api_response.item_xml("tracks")) end |
#search(query, options = {}) ⇒ Array<Artist>
calls artist/search API method and returns Artist array
61 62 63 64 |
# File 'lib/sevendigital/management/artist_manager.rb', line 61 def search(query, ={}) api_response = @api_client.make_api_request(:GET, "artist/search", {:q => query}, ) @api_client.artist_digestor.nested_list_from_xml_doc(api_response.item_xml("searchResults"), :searchResult, :artist) end |