Sha256: 093837ba1a32373094b41717c453f2f829361e9ea7a7ea2360e0cf975dcfef9e

Contents?: true

Size: 526 Bytes

Versions: 2

Compression:

Stored size: 526 Bytes

Contents

# frozen_string_literal: true

module Keycard
  # This class is responsible for extracting the user attributes (i.e. the
  # complete set of things that determine the user's #identity), given a Rack
  # request.
  class RequestAttributes
    def initialize(request, finder: InstitutionFinder.new)
      @finder = finder
      @request = request
    end

    def [](attr)
      all[attr]
    end

    def all
      finder.attributes_for(request)
    end

    private

    attr_reader :finder
    attr_reader :request
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
keycard-0.1.1 lib/keycard/request_attributes.rb
keycard-0.1.0 lib/keycard/request_attributes.rb