Sha256: 0467e57bcc78e019c44aa8a6a23606fed293e4986879a605f9f801eb61298a66
Contents?: true
Size: 919 Bytes
Versions: 18
Compression:
Stored size: 919 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? 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
18 entries across 18 versions & 1 rubygems