class PreventGo::Identity

Public Instance Methods

fetch_holder_infos(*keys) click to toggle source
# File lib/prevent_go/identity.rb, line 17
def fetch_holder_infos(*keys)
  keys = default_holder_keys if keys.empty?
  holder_data.slice(*keys).values.compact
end
holder_controls() click to toggle source
# File lib/prevent_go/identity.rb, line 9
def holder_controls
  @_holder_controls ||= @request.dig('controlsGroups', 'holder') || {}
end
holder_data() click to toggle source
# File lib/prevent_go/identity.rb, line 13
def holder_data
  @_holder_data || @request.dig('documentDetails', 'holder') || {}
end
not_expired?() click to toggle source
# File lib/prevent_go/identity.rb, line 31
def not_expired?
  @request.dig('controlsGroups', 'document', 'notExpired') == 'OK'
end
quality_validated?() click to toggle source
# File lib/prevent_go/identity.rb, line 22
def quality_validated?
  [
    document_controls['typeRecognized'],
    document_controls.dig('quality', 'aboveMinimumThreshold'),
    document_controls['notExpired'],
    document_controls['mrzValid']
  ].all? { |entry| entry == 'OK' }
end

Private Instance Methods

default_holder_keys() click to toggle source
# File lib/prevent_go/identity.rb, line 41
def default_holder_keys
  %w[firstName lastName birthName birthDate gender]
end
endpoint() click to toggle source
# File lib/prevent_go/identity.rb, line 37
def endpoint
  '/identity/individual'
end