Sha256: c0dad7d4ab8a0d03b22fed905e28d2e6d07d302ebc6091c1c7552b53a35d5133

Contents?: true

Size: 714 Bytes

Versions: 3

Compression:

Stored size: 714 Bytes

Contents

# typed: strict
# frozen_string_literal: true

module Paseto
  module Verifiers
    class Footer < T::Enum
      extend T::Sig

      enums do
        ForbiddenWPKValue = new
        ForbiddenKIDValue = new
      end

      sig { params(footer: T::Hash[String, T.untyped], options: T::Hash[Symbol, T.untyped]).void }
      def self.verify(footer, options)
        values.each { |v| v.verifier.new(footer, options).verify }
      end

      sig { returns(T.class_of(Validator)) }
      def verifier
        case self
        when ForbiddenWPKValue then Paseto::Validator::WPK
        when ForbiddenKIDValue then Paseto::Validator::KeyID
        else
          T.absurd(self)
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
ruby-paseto-0.1.2 lib/paseto/verifiers/footer.rb
ruby-paseto-0.1.1 lib/paseto/verifiers/footer.rb
ruby-paseto-0.1.0 lib/paseto/verifiers/footer.rb