aboutsummaryrefslogtreecommitdiffstats
path: root/app/models/speaker.rb
blob: 86be7dc762ed544851fec9989956d1ae49373cf0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
class Speaker < ActiveRecord::Base
  belongs_to :user
  belongs_to :discussion
  
  validates_uniqueness_of :user_id, :scope => :discussion_id
  validates :user, :discussion, :presence => true
  
  after_destroy :destroy_discussion_view
  after_destroy :destroy_discussion
  
  private
  
  def destroy_discussion_view
    @view = DiscussionView.find_by_user_id_and_discussion_id(self.user_id, self.discussion_id)
    @view.destroy if @view
  end
  
  def destroy_discussion
    self.discussion.destroy unless self.discussion.speakers.any?
  end
  
end