class CUI8Tracks::Set
Attributes
page[RW]
per_page[RW]
q[RW]
sort[RW]
tag[RW]
total_entries[R]
user[RW]
Public Class Methods
new()
click to toggle source
# File lib/cui8tracks/set.rb, line 4 def initialize # default config @per_page = 1 @page = 1 @sort = 'hot' end
Public Instance Methods
data()
click to toggle source
to access session.set.play_token
# File lib/cui8tracks/set.rb, line 16 def data @data ||= api.get('/sets/new') end
each_mix() { |mix| ... }
click to toggle source
# File lib/cui8tracks/set.rb, line 31 def each_mix(&block) loop { current_mixes = mixes return if current_mixes.empty? current_mixes.each{ |mix| yield mix } @page += 1 } end
info()
click to toggle source
Calls superclass method
CUI8Tracks::Thing#info
# File lib/cui8tracks/set.rb, line 11 def info super(self.query) end
mixes()
click to toggle source
# File lib/cui8tracks/set.rb, line 21 def mixes got = api.get(path, query) @total_entries = got['total_entries'] got['mixes'].map{|mix_data| mix = CUI8Tracks::Mix.new(mix_data) mix.session = self.session mix } end
path()
click to toggle source
# File lib/cui8tracks/set.rb, line 43 def path @user ? "/users/#{@user}/mixes" : "/mixes" end
query()
click to toggle source
# File lib/cui8tracks/set.rb, line 47 def query { :q => @q, :tag => @tag, :sort => @sort, :page => @page, :per_page => @per_page }.each_pair.inject({}){|a, pair| key, value = *pair a.update({key => value}) if value a } end