Sha256: b447069aab4ceccbd8f18765c96746f2e84d703478b2fd9f7fc3d59177ff9d27

Contents?: true

Size: 497 Bytes

Versions: 1

Compression:

Stored size: 497 Bytes

Contents

require 'clearance/session_status'

module Clearance
  class SignInGuard
    def initialize(session, stack = [])
      @session = session
      @stack = stack
    end

    def success
      SuccessStatus.new
    end

    def failure(message)
      FailureStatus.new(message)
    end

    def next_guard
      stack.call
    end


    private
    attr_reader :stack, :session


    def signed_in?
      session.signed_in?
    end

    def current_user
      session.current_user
    end

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
clearance-1.1.0 lib/clearance/sign_in_guard.rb