feature/share-libs
rb 101 lines 3.02 KB
Raw
1 class AudioFilesController < ApplicationController
2 def index
3 @page_title = 'Audio Files'
4 @audio_files = AudioFile.all.order(created_at: :desc)
5
6 @users = User.left_joins(:audio_files)
7 .group(:id)
8 .order('COUNT(audio_files.id) DESC')
9 .limit(10)
10
11 @meta_title = @page_title
12 @meta_url = request.url
13 end
14
15 def guitar_backing_track
16 id = params[:slug].split('-')[-1]
17
18 @audio_file = AudioFile.find_by(id: id)
19
20 redirect_to root_path and return unless @audio_file.present?
21
22 if request.post? && !user_signed_in?
23 flash[:warning] = 'I told you'
24 redirect_to login_path(redirect_to: guitar_backing_track_path) and return
25 end
26
27 if request.post? && user_signed_in?
28 GuitarBackingTrackJob.perform_later(@audio_file.id)
29 flash[:warning] = 'Be patient.'
30 redirect_to guitar_backing_track_path and return
31 end
32
33 @page_title = @audio_file.guitar_backing_track_title
34 @users = User.left_joins(:audio_files)
35 .group(:id)
36 .order('COUNT(audio_files.id) DESC')
37 .limit(10)
38
39 @guitar_backing_track = GuitarBackingTrackFile.find_by(audio_file_id: @audio_file.id)
40 @meta_title = @page_title
41 @meta_url = request.url
42 end
43
44 def bass_backing_track
45 id = params[:slug].split('-')[-1]
46
47 @audio_file = AudioFile.find_by(id: id)
48
49 redirect_to root_path and return unless @audio_file.present?
50
51 if request.post? && !user_signed_in?
52 flash[:warning] = 'I told you'
53 redirect_to login_path(redirect_to: bass_backing_track_path) and return
54 end
55
56 if request.post? && user_signed_in?
57 BassBackingTrackJob.perform_later(@audio_file.id)
58 flash[:warning] = 'Be patient.'
59 redirect_to bass_backing_track_path and return
60 end
61
62 @page_title = @audio_file.bass_backing_track_title
63 @users = User.left_joins(:audio_files)
64 .group(:id)
65 .order('COUNT(audio_files.id) DESC')
66 .limit(10)
67
68 @bass_backing_track = @audio_file.bass_backing_track_file
69 @meta_title = @page_title
70 @meta_url = request.url
71 end
72
73 def drum_backing_track
74 id = params[:slug].split('-')[-1]
75
76 @audio_file = AudioFile.find_by(id: id)
77
78 redirect_to root_path and return unless @audio_file.present?
79
80 if request.post? && !user_signed_in?
81 flash[:warning] = 'I told you'
82 redirect_to login_path(redirect_to: drum_backing_track_path) and return
83 end
84
85 if request.post? && user_signed_in?
86 DrumBackingTrackJob.perform_later(@audio_file.id)
87 flash[:warning] = 'Be patient.'
88 redirect_to drum_backing_track_path and return
89 end
90
91 @page_title = @audio_file.drum_backing_track_title
92 @users = User.left_joins(:audio_files)
93 .group(:id)
94 .order('COUNT(audio_files.id) DESC')
95 .limit(10)
96
97 @drum_backing_track = @audio_file.drum_backing_track
98 @meta_title = @page_title
99 @meta_url = request.url
100 end
101 end