Module: Approvable

Extended by:
ActiveSupport::Concern
Includes:
FromUnion
Included in:
MergeRequest
Defined in:
app/models/concerns/approvable.rb

Instance Method Summary collapse

Instance Method Details

#approved?Boolean

Returns:

  • (Boolean)


55
56
57
# File 'app/models/concerns/approvable.rb', line 55

def approved?
  approvals.present?
end

#approved_by?(user) ⇒ Boolean

Returns:

  • (Boolean)


49
50
51
52
53
# File 'app/models/concerns/approvable.rb', line 49

def approved_by?(user)
  return false unless user

  approvals.where(user: user).any?
end

#eligible_for_approval_by?(user) ⇒ Boolean

Returns:

  • (Boolean)


59
60
61
# File 'app/models/concerns/approvable.rb', line 59

def eligible_for_approval_by?(user)
  user.present? && !approved_by?(user) && user.can?(:approve_merge_request, self)
end

#eligible_for_unapproval_by?(user) ⇒ Boolean

Returns:

  • (Boolean)


63
64
65
# File 'app/models/concerns/approvable.rb', line 63

def eligible_for_unapproval_by?(user)
  user && approved_by?(user) && user.can?(:approve_merge_request, self)
end