Sha256: 428b1e23cd8631a6a14a4ed0ad889db1aaa405add2a6bf794e1df3477d6808ef

Contents?: true

Size: 944 Bytes

Versions: 2

Compression:

Stored size: 944 Bytes

Contents

module Onfido
  module Configuration
    attr_accessor :api_key, :open_timeout, :read_timeout, :api_version

    def self.extended(base)
      base.reset
    end

    def configure
      yield self
    end

    def reset
      self.api_key = nil
      self.open_timeout = 30
      self.read_timeout = 80
      self.api_version = 'v2'
      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 region
      return unless api_key

      first_bit = api_key.split("_")[0]

      return if %w(live test).include?(first_bit)

      first_bit
    end

    def endpoint
      if region
        "https://api.#{region}.onfido.com/#{api_version}/"
      else
        "https://api.onfido.com/#{api_version}/"
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
onfido-0.12.0 lib/onfido/configuration.rb
onfido-0.11.0 lib/onfido/configuration.rb