Sha256: 7df046e937e6efc466636676c4dcdb77c5b1b6f1bcd64912d3d004c59b4f2e9f

Contents?: true

Size: 567 Bytes

Versions: 28

Compression:

Stored size: 567 Bytes

Contents

# frozen_string_literal: true

module Kadmin
  # Glue class so that authentication can be added as route constraints
  class AuthConstraint
    include Kadmin::Concerns::AuthorizedUser

    def matches?(request)
      return true unless Kadmin::Auth.config.enabled?

      return with(request) do
        logged_in? && authorized?
      end
    end

    def with(request)
      @request = request
      return yield
    ensure
      @request = nil
    end

    def request
      return @request
    end

    def session
      return request.session
    end
  end
end

Version data entries

28 entries across 28 versions & 1 rubygems

Version Path
kadmin-1.3.0 app/components/kadmin/auth_constraint.rb
kadmin-1.2.1 app/components/kadmin/auth_constraint.rb
kadmin-1.2.0 app/components/kadmin/auth_constraint.rb
kadmin-1.1.1 app/components/kadmin/auth_constraint.rb
kadmin-1.1.0 app/components/kadmin/auth_constraint.rb
kadmin-1.0.9 app/components/kadmin/auth_constraint.rb
kadmin-1.0.8 app/components/kadmin/auth_constraint.rb
kadmin-1.0.7 app/components/kadmin/auth_constraint.rb
kadmin-1.0.6 app/components/kadmin/auth_constraint.rb
kadmin-1.0.5 app/components/kadmin/auth_constraint.rb
kadmin-1.0.4 app/components/kadmin/auth_constraint.rb
kadmin-1.0.3 app/components/kadmin/auth_constraint.rb
kadmin-1.0.2 app/components/kadmin/auth_constraint.rb
kadmin-1.0.1 app/components/kadmin/auth_constraint.rb
kadmin-1.0.0 app/components/kadmin/auth_constraint.rb
kadmin-0.9.5 app/components/kadmin/auth_constraint.rb
kadmin-0.9.4 app/components/kadmin/auth_constraint.rb
kadmin-0.8.0 app/components/kadmin/auth_constraint.rb
kadmin-0.7.5 app/components/kadmin/auth_constraint.rb
kadmin-0.7.4 app/components/kadmin/auth_constraint.rb