Skip to content

Commit e7ffeb2

Browse files
committed
Exclude soundchecks from gaps and bustouts
1 parent 980f901 commit e7ffeb2

File tree

2 files changed

+18
-10
lines changed

2 files changed

+18
-10
lines changed

app/services/bustout_tag_service.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ class BustoutTagService < ApplicationService
66
param :show
77

88
def call
9-
show.tracks.each do |track|
9+
show.tracks.where.not(set: "S").each do |track|
1010
track.songs_tracks.each do |songs_track|
1111
prev_perf_gap = songs_track.previous_performance_gap
1212
next unless prev_perf_gap && prev_perf_gap > MIN_GAP

app/services/gap_service.rb

+17-9
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ def call
99

1010
def update_song_gaps_for_show
1111
ActiveRecord::Base.transaction do
12-
show.tracks.each do |track|
12+
show.tracks.where.not(set: "S").each do |track|
1313
track.songs.each do |song|
1414
song_track = SongsTrack.find_by(track_id: track.id, song_id: song.id)
1515

@@ -32,13 +32,17 @@ def update_song_gaps_for_show
3232
def find_previous_performance(song, track)
3333
previous_tracks = Track.joins(:show, :songs)
3434
.where(songs: { id: song.id })
35+
.where("tracks.set <> ?", "S")
3536
.where("shows.date < ?", track.show.date)
3637
.order("shows.date DESC, tracks.position DESC")
3738

38-
previous_tracks_within_show = track.show.tracks.joins(:songs)
39-
.where(songs: { id: song.id })
40-
.where("tracks.position < ?", track.position)
41-
.order("tracks.position DESC")
39+
previous_tracks_within_show = track.show
40+
.tracks
41+
.joins(:songs)
42+
.where(songs: { id: song.id })
43+
.where("tracks.set <> ?", "S")
44+
.where("tracks.position < ?", track.position)
45+
.order("tracks.position DESC")
4246

4347
return previous_tracks_within_show.first if previous_tracks_within_show.exists?
4448

@@ -48,13 +52,17 @@ def find_previous_performance(song, track)
4852
def find_next_performance(song, track)
4953
next_tracks = Track.joins(:show, :songs)
5054
.where(songs: { id: song.id })
55+
.where("tracks.set <> ?", "S")
5156
.where("shows.date > ?", track.show.date)
5257
.order("shows.date ASC, tracks.position ASC")
5358

54-
next_tracks_within_show = track.show.tracks.joins(:songs)
55-
.where(songs: { id: song.id })
56-
.where("tracks.position > ?", track.position)
57-
.order("tracks.position ASC")
59+
next_tracks_within_show = track.show
60+
.tracks
61+
.joins(:songs)
62+
.where(songs: { id: song.id })
63+
.where("tracks.set <> ?", "S")
64+
.where("tracks.position > ?", track.position)
65+
.order("tracks.position ASC")
5866

5967
return next_tracks_within_show.first if next_tracks_within_show.exists?
6068

0 commit comments

Comments
 (0)