diff --git a/ruby/lib/jam_ruby/models/active_music_session.rb b/ruby/lib/jam_ruby/models/active_music_session.rb index c594655d2..2baf10718 100644 --- a/ruby/lib/jam_ruby/models/active_music_session.rb +++ b/ruby/lib/jam_ruby/models/active_music_session.rb @@ -47,6 +47,11 @@ module JamRuby end def before_destroy + feed = Feed.find_by_music_session_id(self.id) + unless feed.nil? + feed.active = false + feed.save + end self.mount.destroy if self.mount end diff --git a/ruby/lib/jam_ruby/models/music_session.rb b/ruby/lib/jam_ruby/models/music_session.rb index 0095eb652..81947a5a3 100644 --- a/ruby/lib/jam_ruby/models/music_session.rb +++ b/ruby/lib/jam_ruby/models/music_session.rb @@ -605,12 +605,6 @@ module JamRuby hist.end_history if hist - feed = Feed.find_by_music_session_id(session_id) - unless feed.nil? - feed.active = false - feed.save - end - Notification.send_session_ended(session_id) end diff --git a/ruby/lib/jam_ruby/resque/scheduled/active_music_session_cleaner.rb b/ruby/lib/jam_ruby/resque/scheduled/active_music_session_cleaner.rb index 18722217d..e700a0427 100644 --- a/ruby/lib/jam_ruby/resque/scheduled/active_music_session_cleaner.rb +++ b/ruby/lib/jam_ruby/resque/scheduled/active_music_session_cleaner.rb @@ -38,6 +38,7 @@ module JamRuby stale_sessions.each do |s| if s.connections.count == 0 + s.before_destroy s.delete end end diff --git a/ruby/spec/jam_ruby/models/feed_spec.rb b/ruby/spec/jam_ruby/models/feed_spec.rb index a0ec224da..f63d03116 100644 --- a/ruby/spec/jam_ruby/models/feed_spec.rb +++ b/ruby/spec/jam_ruby/models/feed_spec.rb @@ -196,7 +196,8 @@ describe Feed do it "supports date pagination" do claimed_recording = FactoryGirl.create(:claimed_recording) - MusicSession.removed_music_session(claimed_recording.recording.music_session.music_session.id) + ams = ActiveMusicSession.find(claimed_recording.recording.music_session.music_session.id) + ams.before_destroy options = {limit: 1} feeds, start = Feed.index(user1, options) diff --git a/web/spec/controllers/api_feeds_controller_spec.rb b/web/spec/controllers/api_feeds_controller_spec.rb index 2437e5d14..78a60b021 100644 --- a/web/spec/controllers/api_feeds_controller_spec.rb +++ b/web/spec/controllers/api_feeds_controller_spec.rb @@ -94,7 +94,8 @@ describe ApiFeedsController do claimed_recording.recording.created_at = 3.days.ago claimed_recording.recording.save! - MusicSession.removed_music_session(claimed_recording.recording.music_session.music_session.id) + ams = ActiveMusicSession.find(claimed_recording.recording.music_session.music_session.id) + ams.before_destroy get :index, { limit: 1 } json = JSON.parse(response.body, :symbolize_names => true)