Sha256: a2bde5328bb545914eb3f419a7a7a812332c9f6c49a3d41f99e252c78c4b4d6d
Contents?: true
Size: 929 Bytes
Versions: 30
Compression:
Stored size: 929 Bytes
Contents
module Mumuki::Domain::Status::Discussion include Mumuki::Domain::Status end require_relative './opened' require_relative './closed' require_relative './solved' require_relative './pending_review' module Mumuki::Domain::Status::Discussion STATUSES = [Opened, Closed, Solved, PendingReview] test_selectors.each do |selector| define_method(selector) { false } end def allowed_for?(*) true end def reachable_statuses_for_moderator(*) [] end def reachable_statuses_for_initiator(*) [] end def should_be_shown?(count, user) count > 0 || user&.moderator_here? end def reachable_statuses_for(user, discussion) if user.moderator_here? reachable_statuses_for_moderator(discussion) else reachable_statuses_for_initiator(discussion) end end def allowed_statuses_for(user, discussion) STATUSES.select { |it| it.allowed_for?(user, discussion) } end end
Version data entries
30 entries across 30 versions & 2 rubygems