Sha256: 1f87543c9787b42c1e81835d19f22c2e4b17949b90ca4836f6144caf0613590f
Contents?: true
Size: 931 Bytes
Versions: 11
Compression:
Stored size: 931 Bytes
Contents
module Mumuki::Laboratory::Status::Discussion include Mumuki::Laboratory::Status end require_relative './opened' require_relative './closed' require_relative './solved' require_relative './pending_review' module Mumuki::Laboratory::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? end def reachable_statuses_for(user, discussion) if user.moderator? 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
11 entries across 11 versions & 1 rubygems