jam-cloud/ruby/lib/jam_ruby/models/broadcast.rb

34 lines
989 B
Ruby
Raw Permalink Normal View History

2017-04-14 19:34:18 +00:00
module JamRuby
class Broadcast < ActiveRecord::Base
@@log = Logging.logger[Broadcast]
2017-06-10 20:34:08 +00:00
STATUS_COMPLETED = 'complete'
2017-04-14 19:34:18 +00:00
STATUS_ABANDONED = 'abandoned'
STATUS_REVOKED = 'revoked'
2017-06-10 20:34:08 +00:00
STATUS_DELETED = 'deleted'
2017-04-14 19:34:18 +00:00
2017-06-10 20:34:08 +00:00
DONE_STATUSES = [STATUS_ABANDONED, STATUS_REVOKED, STATUS_DELETED, STATUS_COMPLETED]
2020-05-01 18:59:48 +00:00
belongs_to :music_session, :class_name => 'JamRuby::MusicSession'
2017-04-14 19:34:18 +00:00
def self.current_broadcast(music_session)
Broadcast.where(music_session_id: music_session.id).where('broadcast_status not in (?)', Broadcast::DONE_STATUSES).first
end
2017-06-10 20:34:08 +00:00
def self.unlink_broadcast(music_session)
broadcast = current_broadcast(music_session)
if broadcast
broadcast.broadcast_status = STATUS_DELETED
broadcast.save
end
end
# data should be JSON hash from google API
def update_broadcast_data(data)
self.broadcast_status = data["status"]["lifeCycleStatus"]
self.broadcast_data = data.to_json
end
2017-04-14 19:34:18 +00:00
end
end