Module: WithDiscussions

Extended by:
ActiveSupport::Concern
Included in:
Exercise
Defined in:
app/models/concerns/with_discussions.rb

Instance Method Summary collapse

Instance Method Details

#discuss!(user, discussion) ⇒ Object



8
9
10
11
12
13
14
# File 'app/models/concerns/with_discussions.rb', line 8

def discuss!(user, discussion)
  discussion.merge!(initiator_id: user.id)
  discussion.merge!(submission: submission_for(user)) if submission_for(user).present?
  created_discussion = discussions.create discussion
  user.subscribe_to! created_discussion
  created_discussion
end

#submission_for(_) ⇒ Object



16
17
18
# File 'app/models/concerns/with_discussions.rb', line 16

def submission_for(_)
  nil
end

#try_solve_discussions(user) ⇒ Object



20
21
22
# File 'app/models/concerns/with_discussions.rb', line 20

def try_solve_discussions(user)
  discussions.where(initiator: user).map(&:try_solve!)
end