class JWT::ClaimsValidator

Constants

NUMERIC_CLAIMS

Public Class Methods

new(payload) click to toggle source
# File lib/jwt/claims_validator.rb, line 13
def initialize(payload)
  @payload = payload.transform_keys(&:to_sym)
end

Public Instance Methods

validate!() click to toggle source
# File lib/jwt/claims_validator.rb, line 17
def validate!
  validate_numeric_claims

  true
end

Private Instance Methods

validate_is_numeric(claim) click to toggle source
# File lib/jwt/claims_validator.rb, line 31
def validate_is_numeric(claim)
  return if @payload[claim].is_a?(Numeric)

  raise InvalidPayload, "#{claim} claim must be a Numeric value but it is a #{@payload[claim].class}"
end
validate_numeric_claims() click to toggle source
# File lib/jwt/claims_validator.rb, line 25
def validate_numeric_claims
  NUMERIC_CLAIMS.each do |claim|
    validate_is_numeric(claim) if @payload.key?(claim)
  end
end