class JWT::JWK::OKPRbNaCl

def extract_key_params(key)

def extract_key_params(key)
  case key
  when JWT::JWK::KeyBase
    key.export(include_private: true)
  when RbNaCl::Signatures::Ed25519::SigningKey
    @signing_key = key
    @verify_key = key.verify_key
    parse_okp_key_params(@verify_key, @signing_key)
  when RbNaCl::Signatures::Ed25519::VerifyKey
    @signing_key = nil
    @verify_key = key
    parse_okp_key_params(@verify_key)
  when Hash
    key.transform_keys(&:to_sym)
  else
    raise ArgumentError, 'key must be of type RbNaCl::Signatures::Ed25519::SigningKey, RbNaCl::Signatures::Ed25519::VerifyKey or Hash with key parameters'
  end
end