15 lines
327 B
Ruby
15 lines
327 B
Ruby
class AdminSignedInConstraint
|
|
def matches?(request)
|
|
signed_in?(request) && signed_in_user_is_admin?(request)
|
|
end
|
|
|
|
def signed_in?(request)
|
|
Oath::Constraints::SignedIn.new.matches?(request)
|
|
end
|
|
|
|
def signed_in_user_is_admin?(request)
|
|
warden = request.env['warden']
|
|
warden && warden.user.admin?
|
|
end
|
|
end
|