class SecureNative::ApiManager

Public Class Methods

new(event_manager, securenative_options) click to toggle source
# File lib/securenative/api_manager.rb, line 5
def initialize(event_manager, securenative_options)
  @event_manager = event_manager
  @options = securenative_options
end

Public Instance Methods

track(event_options) click to toggle source
# File lib/securenative/api_manager.rb, line 10
def track(event_options)
  SecureNative::Log.debug('Track event call')
  event = SecureNative::SDKEvent.new(event_options, @options)
  @event_manager.send_async(event, SecureNative::Enums::ApiRoute::TRACK)
end
verify(event_options) click to toggle source
# File lib/securenative/api_manager.rb, line 16
def verify(event_options)
  SecureNative::Log.debug('Verify event call')
  event = SecureNative::SDKEvent.new(event_options, @options)

  begin
    res = @event_manager.send_sync(event, SecureNative::Enums::ApiRoute::VERIFY)
    ver_result = JSON.parse(res.body)
    if res.code != "200"
      if @options.fail_over_strategy == SecureNative::FailOverStrategy::FAIL_OPEN
        return SecureNative::VerifyResult.new(risk_level: SecureNative::Enums::RiskLevel::LOW, score: 0, triggers: [])
      end
      return VerifyResult.new(risk_level: SecureNative::Enums::RiskLevel::HIGH, score: 1, triggers: [])
    end
    return VerifyResult.new(risk_level: ver_result['riskLevel'], score: ver_result['score'], triggers: ver_result['triggers'])
  rescue StandardError => e
    SecureNative::Log.debug("Failed to call verify; #{e}")
  end
  if @options.fail_over_strategy == SecureNative::FailOverStrategy::FAIL_OPEN
    return SecureNative::VerifyResult.new(risk_level: SecureNative::Enums::RiskLevel::LOW, score: 0, triggers: [])
  end

  VerifyResult.new(risk_level: SecureNative::Enums::RiskLevel::HIGH, score: 1, triggers: [])
end