Sha256: f01a02517504f4f7a909a9b8e9f49be0cb9f424b1f41a245ca5fe30e4448c15a
Contents?: true
Size: 570 Bytes
Versions: 16
Compression:
Stored size: 570 Bytes
Contents
module Clearance module Constraints class SignedIn def initialize(&block) @block = block || lambda { |user| true } end def matches?(request) @request = request signed_in? && current_user_fulfills_additional_requirements? end private def current_user @request.env[:clearance].current_user end def current_user_fulfills_additional_requirements? @block.call current_user end def signed_in? @request.env[:clearance].signed_in? end end end end
Version data entries
16 entries across 16 versions & 1 rubygems