class JWT::Claims::Numeric
Constants
- NUMERIC_CLAIMS
Public Class Methods
new(*args)
click to toggle source
Calls superclass method
# File lib/jwt/claims/numeric.rb, line 22 def self.new(*args) return super if args.empty? Compat.new(*args) end
verify!(payload:, **_args)
click to toggle source
# File lib/jwt/claims/numeric.rb, line 32 def self.verify!(payload:, **_args) JWT::Claims.verify_payload!(payload, :numeric) end
Public Instance Methods
verify!(context:)
click to toggle source
# File lib/jwt/claims/numeric.rb, line 28 def verify!(context:) validate_numeric_claims(context.payload) end
Private Instance Methods
validate_is_numeric(payload, claim)
click to toggle source
# File lib/jwt/claims/numeric.rb, line 44 def validate_is_numeric(payload, claim) return unless payload.is_a?(Hash) return unless payload.key?(claim) || payload.key?(claim.to_s) return if payload[claim].is_a?(::Numeric) || payload[claim.to_s].is_a?(::Numeric) raise InvalidPayload, "#{claim} claim must be a Numeric value but it is a #{(payload[claim] || payload[claim.to_s]).class}" end
validate_numeric_claims(payload)
click to toggle source
# File lib/jwt/claims/numeric.rb, line 38 def validate_numeric_claims(payload) NUMERIC_CLAIMS.each do |claim| validate_is_numeric(payload, claim) end end