26 lines
1011 B
Ruby
26 lines
1011 B
Ruby
class ArtistController < ApplicationController
|
|
def data
|
|
data = {}
|
|
artist = Artist.find_by_name(params[:name].gsub('+', ' '))
|
|
data['artist'] = {name: artist.name, desc: ActionController::Base.helpers.strip_tags(artist.desc), pic: artist.pic_url}
|
|
data['albums'] = []
|
|
albums = artist.albums
|
|
albums.each do |album|
|
|
tmp_album = {name: album.name, year: album.year, pic: album.pic_url}
|
|
album_tracks = []
|
|
bonus_tracks = []
|
|
album.tracks.each do |track|
|
|
tmp_track = {name: track.name, live: track.live, acoustic: track.acoustic}
|
|
time = (track.length / 1000).round
|
|
time_m = (time / 60).floor
|
|
time_s = time - time_m * 60
|
|
tmp_track['duration'] = time_m.to_s + ':' + (time_s < 10 ? '0' : '') + time_s.to_s
|
|
(track.bonus == 0 ? album_tracks : bonus_tracks) << tmp_track
|
|
end
|
|
tmp_album['tracks'] = {album: album_tracks, bonus: bonus_tracks}
|
|
data['albums'] << tmp_album
|
|
end
|
|
render :json => data
|
|
end
|
|
end
|