Module: Verikloak::Pundit::ClaimUtils

Defined in:
lib/verikloak/pundit/claim_utils.rb

Overview

Helpers for coercing incoming claims payloads into safe Hashes.

Class Method Summary collapse

Class Method Details

.normalize(claims) ⇒ Hash

Normalize incoming claims to a Hash to guard against odd payload types.

Parameters:

  • claims (Object)

Returns:

  • (Hash)


13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/verikloak/pundit/claim_utils.rb', line 13

def normalize(claims)
  return {} if claims.nil?
  return claims if claims.is_a?(Hash)

  if claims.respond_to?(:to_hash)
    coerced = claims.to_hash
    return coerced if coerced.is_a?(Hash)
  end

  {}
rescue StandardError => e
  warn "[Verikloak::Pundit] ClaimUtils.normalize failed: #{e.class}: #{e.message}" if $DEBUG
  {}
end