Module: Mumuki::Laboratory::Status::Discussion

Includes:
Mumuki::Laboratory::Status
Included in:
Closed, Opened, PendingReview, Solved
Defined in:
lib/mumuki/laboratory/status/discussion/discussion.rb,
lib/mumuki/laboratory/status/discussion/discussion.rb

Defined Under Namespace

Modules: Closed, Opened, PendingReview, Solved

Constant Summary collapse

STATUSES =
[Opened, Closed, Solved, PendingReview]

Instance Method Summary collapse

Methods included from Mumuki::Laboratory::Status

#==, #to_i, #to_s, #to_sym

Instance Method Details

#allowed_for?Boolean

Returns:

  • (Boolean)


29
30
31
# File 'lib/mumuki/laboratory/status/discussion/discussion.rb', line 29

def allowed_for?(*)
  true
end

#allowed_statuses_for(user, discussion) ⇒ Object



53
54
55
# File 'lib/mumuki/laboratory/status/discussion/discussion.rb', line 53

def allowed_statuses_for(user, discussion)
  STATUSES.select { |it| it.allowed_for?(user, discussion) }
end

#closed?Boolean

Returns:

  • (Boolean)


13
14
15
# File 'lib/mumuki/laboratory/status/discussion/discussion.rb', line 13

def closed?
  false
end

#opened?Boolean

Returns:

  • (Boolean)


17
18
19
# File 'lib/mumuki/laboratory/status/discussion/discussion.rb', line 17

def opened?
  false
end

#pending_review?Boolean

Returns:

  • (Boolean)


25
26
27
# File 'lib/mumuki/laboratory/status/discussion/discussion.rb', line 25

def pending_review?
  false
end

#reachable_statuses_for(user, discussion) ⇒ Object



45
46
47
48
49
50
51
# File 'lib/mumuki/laboratory/status/discussion/discussion.rb', line 45

def reachable_statuses_for(user, discussion)
  if user.moderator?
    reachable_statuses_for_moderator(discussion)
  else
    reachable_statuses_for_initiator(discussion)
  end
end

#reachable_statuses_for_initiatorObject



37
38
39
# File 'lib/mumuki/laboratory/status/discussion/discussion.rb', line 37

def reachable_statuses_for_initiator(*)
  []
end

#reachable_statuses_for_moderatorObject



33
34
35
# File 'lib/mumuki/laboratory/status/discussion/discussion.rb', line 33

def reachable_statuses_for_moderator(*)
  []
end

#should_be_shown?(count, user) ⇒ Boolean

Returns:

  • (Boolean)


41
42
43
# File 'lib/mumuki/laboratory/status/discussion/discussion.rb', line 41

def should_be_shown?(count, user)
  count > 0 || user&.moderator?
end

#solved?Boolean

Returns:

  • (Boolean)


21
22
23
# File 'lib/mumuki/laboratory/status/discussion/discussion.rb', line 21

def solved?
  false
end