Module: WithDiscussions
- Extended by:
- ActiveSupport::Concern
- Included in:
- Exercise
- Defined in:
- app/models/concerns/with_discussions.rb
Instance Method Summary collapse
- #discuss!(user, discussion, organization = Organization.current) ⇒ Object
- #new_discussion_for(user, discussion_h = {}, organization = Organization.current) ⇒ Object
- #submission_for(_) ⇒ Object
- #try_solve_discussions!(user) ⇒ Object
Instance Method Details
#discuss!(user, discussion, organization = Organization.current) ⇒ Object
9 10 11 |
# File 'app/models/concerns/with_discussions.rb', line 9 def discuss!(user, discussion, organization = Organization.current) new_discussion_for(user, discussion, organization).tap &:save! end |
#new_discussion_for(user, discussion_h = {}, organization = Organization.current) ⇒ Object
21 22 23 24 25 |
# File 'app/models/concerns/with_discussions.rb', line 21 def new_discussion_for(user, discussion_h = {}, organization = Organization.current) discussion_h.merge!(initiator_id: user.id, organization: organization) discussion_h.merge!(submission: submission_for(user)) if submission_for(user).present? discussions.new discussion_h end |
#submission_for(_) ⇒ Object
13 14 15 |
# File 'app/models/concerns/with_discussions.rb', line 13 def submission_for(_) nil end |
#try_solve_discussions!(user) ⇒ Object
17 18 19 |
# File 'app/models/concerns/with_discussions.rb', line 17 def try_solve_discussions!(user) discussions.where(initiator: user).map(&:try_solve!) end |