Class: Sevendigital::TrackManager

Inherits:
Manager
  • Object
show all
Defined in:
lib/sevendigital/management/track_manager.rb

Instance Method Summary collapse

Methods inherited from Manager

#initialize

Constructor Details

This class inherits a constructor from Sevendigital::Manager

Instance Method Details

#build_preview_url(id, options = {}) ⇒ Object



17
18
19
20
21
22
# File 'lib/sevendigital/management/track_manager.rb', line 17

def build_preview_url(id, options={})
  api_request = @api_client.create_api_request(:GET, "clip/#{id}", {}, options)
  api_request.api_service = :previews
  api_request.require_signature
  @api_client.operator.get_request_uri(api_request)
end

#get_chart(options = {}) ⇒ Object



12
13
14
15
# File 'lib/sevendigital/management/track_manager.rb', line 12

def get_chart(options={})
  api_response = @api_client.make_api_request(:GET, "track/chart", {}, options)
  @api_client.chart_item_digestor.list_from_xml_doc(api_response.item_xml("chart"))
end

#get_details(id, options = {}) ⇒ Object



3
4
5
6
# File 'lib/sevendigital/management/track_manager.rb', line 3

def get_details(id, options={})
  api_response = @api_client.make_api_request(:GET, "track/details", {:trackId => id}, options)
  @api_client.track_digestor.from_xml_doc(api_response.item_xml("track"))
end

#get_details_from_release(track_id, release_id, options = {}) ⇒ Object



8
9
10
# File 'lib/sevendigital/management/track_manager.rb', line 8

def get_details_from_release(track_id, release_id, options={})
  @api_client.release.get_tracks(release_id, options).find {|track| track.id == track_id}
end

#search(query, options = {}) ⇒ Object



24
25
26
27
# File 'lib/sevendigital/management/track_manager.rb', line 24

def search(query, options={})
  api_response = @api_client.make_api_request(:GET, "track/search", {:q => query}, options)
  @api_client.track_digestor.nested_list_from_xml_doc(api_response.item_xml("searchResults"), :searchResult, :track)
end