Sha256: 554e40b618dd30b0698e049c8f5d3e574da212ea5c39335dd467b6779de5b2ae

Contents?: true

Size: 956 Bytes

Versions: 2

Compression:

Stored size: 956 Bytes

Contents

module Onfido
  module Configuration
    REGION_HOSTS = {
      us: "api.us.onfido.com",
      ca: "api.ca.onfido.com"
    }.freeze

    attr_accessor :api_key, :region, :open_timeout, :read_timeout

    def self.extended(base)
      base.reset
    end

    def configure
      yield self
    end

    def reset
      self.api_key = nil
      self.region = nil
      self.open_timeout = 30
      self.read_timeout = 80
      RestClient.log = nil
    end

    def logger=(log)
      unless log.respond_to?(:<<)
        raise "#{log.class} doesn't seem to behave like a logger!"
      end

      RestClient.log = log
    end

    def logger
      RestClient.log ||= NullLogger.new
    end

    def endpoint
      region_host = region ? REGION_HOSTS[region.downcase.to_sym] : "api.onfido.com"
      unless region_host
        raise "The region \"#{region.downcase}\" is not currently supported"
      end

      "https://#{region_host}/v3/"
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
onfido-1.1.1 lib/onfido/configuration.rb
onfido-1.1.0 lib/onfido/configuration.rb