Class: Sevendigital::ReleaseManager

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

Instance Method Summary collapse

Methods inherited from Manager

#initialize

Constructor Details

This class inherits a constructor from Sevendigital::Manager

Instance Method Details

#get_by_date(from_date = nil, to_date = nil, options = {}) ⇒ Object



21
22
23
24
25
26
27
28
# File 'lib/sevendigital/management/release_manager.rb', line 21

def get_by_date(from_date = nil, to_date = nil, options = {})
  parameters = Hash.new
  parameters[:fromDate] = from_date.strftime("%Y%m%d") if from_date
  parameters[:toDate] = to_date.strftime("%Y%m%d") if to_date

  api_response = @api_client.make_api_request(:GET, "release/byDate", parameters, options)
  @api_client.release_digestor.list_from_xml_doc(api_response.item_xml("releases"))
end

#get_chart(options = {}) ⇒ Object



16
17
18
19
# File 'lib/sevendigital/management/release_manager.rb', line 16

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

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



5
6
7
8
# File 'lib/sevendigital/management/release_manager.rb', line 5

def get_details(release_id, options = {})
  api_response = @api_client.make_api_request(:GET, "release/details", {:releaseId => release_id}, options)
  @api_client.release_digestor.from_xml_doc(api_response.item_xml("release"))
end

#get_recommendations(release_id, options = {}) ⇒ Object



30
31
32
33
# File 'lib/sevendigital/management/release_manager.rb', line 30

def get_recommendations(release_id, options = {})
  api_response = @api_client.make_api_request(:GET, "release/recommend", {:releaseId => release_id}, options)
  @api_client.release_digestor.nested_list_from_xml_doc(api_response.item_xml("recommendations"), :recommendedItem, :release)
end

#get_tags(release_id, options = {}) ⇒ Object



48
49
50
51
# File 'lib/sevendigital/management/release_manager.rb', line 48

def get_tags(release_id, options = {})
  api_response = @api_client.make_api_request(:GET, "release/tags", {:releaseId => release_id}, options)
  @api_client.tag_digestor.list_from_xml_doc(api_response.item_xml("tags"))
end

#get_top_by_tag(tags, options = {}) ⇒ Object



36
37
38
39
40
# File 'lib/sevendigital/management/release_manager.rb', line 36

def get_top_by_tag(tags, options = {})
  api_response = @api_client.make_api_request(:GET, "release/byTag/top", {:tags => tags}, options)
  @api_client.release_digestor.nested_list_from_xml_doc( \
  api_response.item_xml("taggedResults"), :taggedItem, :release )
end

#get_tracks(release_id, options = {}) ⇒ Object



10
11
12
13
14
# File 'lib/sevendigital/management/release_manager.rb', line 10

def get_tracks(release_id, options = {})
  options[:page_size] ||= 100
  api_response = @api_client.make_api_request(:GET, "release/tracks", {:releaseId => release_id}, options)
  @api_client.track_digestor.list_from_xml_doc(api_response.item_xml("tracks"))
end

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



42
43
44
45
# File 'lib/sevendigital/management/release_manager.rb', line 42

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