class CastingCallInterview < ApplicationRecord belongs_to :casting_call has_many_attached :files has_secure_token validates :performer_name, presence: true scope :completed, -> { where.not(interviewed_at: nil) } def join_zoom_meeting_url uri = URI.parse(self.zoom_meeting_url) zoom_meeting_id = uri.path.gsub("/j/", "") zoom_meeting_pwd = uri.query.gsub("pwd=", "") "zoommtg://zoom.us/join?confno=#{zoom_meeting_id}&pwd=#{zoom_meeting_pwd}" end def zip_file_name "#{self.casting_call.title.parameterize}_#{self.performer_name.parameterize}_#{Time.now.strftime('%Y-%m-%d_%H-%M-%S')}" end end