Sha256: 4438c4e57bdeee728f6547009470a794088f313cbc6b6d5039077e7859375706

Contents?: true

Size: 982 Bytes

Versions: 8

Compression:

Stored size: 982 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]

  def closed?
    false
  end

  def opened?
    false
  end

  def solved?
    false
  end

  def pending_review?
    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

8 entries across 8 versions & 1 rubygems

Version Path
mumuki-laboratory-5.8.3 lib/mumuki/laboratory/status/discussion/discussion.rb
mumuki-laboratory-5.8.1 lib/mumuki/laboratory/status/discussion/discussion.rb
mumuki-laboratory-5.8.0 lib/mumuki/laboratory/status/discussion/discussion.rb
mumuki-laboratory-5.7.0 lib/mumuki/laboratory/status/discussion/discussion.rb
mumuki-laboratory-5.6.3 lib/mumuki/laboratory/status/discussion/discussion.rb
mumuki-laboratory-5.6.2 lib/mumuki/laboratory/status/discussion/discussion.rb
mumuki-laboratory-5.6.1 lib/mumuki/laboratory/status/discussion/discussion.rb
mumuki-laboratory-5.6.0 lib/mumuki/laboratory/status/discussion/discussion.rb