class Somadic::AudioAddict

Public Class Methods

new(channel_id) click to toggle source
# File lib/somadic/audio_addict.rb, line 3
def initialize(channel_id)
  @url = "http://api.audioaddict.com/v1/di/track_history/channel/" \
         "#{channel_id}.jsonp?callback=_AudioAddict_TrackHistory_Channel"
end

Public Instance Methods

refresh_playlist() click to toggle source
# File lib/somadic/audio_addict.rb, line 8
def refresh_playlist
  page = open(@url).read
  data = JSON.parse(page[page.index("(") + 1..-3])
  symbolized_data = []
  data.each { |d| symbolized_data << symbolize_keys(d) }
  @songs = symbolized_data.keep_if { |d| d[:title] }
end

Private Instance Methods

symbolize_keys(hash) click to toggle source
# File lib/somadic/audio_addict.rb, line 18
def symbolize_keys(hash)
  sym_hash = {}
  hash.each { |k, v| sym_hash[k.to_sym] = v.is_a?(Hash) ? symbolize_keys(v) : v }
  sym_hash
end