class AudioAddict::Log
Public Instance Methods
data()
click to toggle source
# File lib/audio_addict/log.rb, line 7 def data @data ||= data! end
data!()
click to toggle source
# File lib/audio_addict/log.rb, line 11 def data! if File.exist? path File.readlines(path).map(&:strip) else [] end end
path()
click to toggle source
# File lib/audio_addict/log.rb, line 3 def path @path ||= Config.like_log end
search(query)
click to toggle source
# File lib/audio_addict/log.rb, line 19 def search(query) data.select { |l| l.downcase.include? query.downcase } end
sort()
click to toggle source
# File lib/audio_addict/log.rb, line 23 def sort output = data.sort.join("\n") + "\n" File.write path, output end
tree()
click to toggle source
# File lib/audio_addict/log.rb, line 28 def tree @tree ||= tree! end
tree!()
click to toggle source
# File lib/audio_addict/log.rb, line 32 def tree! result = {} data.each do |line| network, channel, artist, song = line.split(" :: ") result[network] ||= {} result[network][channel] ||= {} result[network][channel][artist] ||= [] result[network][channel][artist] << song end result end