Sha256: 2217edd0db08b393aa01d65a4064cf7884daf3ab9658a747ba4b523780c90cdd

Contents?: true

Size: 1.28 KB

Versions: 3

Compression:

Stored size: 1.28 KB

Contents

require "omise/http_logger"
require "omise/resource"

module Omise
  LIB_PATH = File.expand_path("../../", __FILE__)

  class << self
    attr_accessor :api_url, :vault_url, :api_version, :resource, :user_agent_suffix

    attr_writer :secret_api_key, :public_api_key

    def secret_api_key
      get_key :secret_api_key
    end

    def public_api_key
      get_key :public_api_key
    end

    # Backward compatibility with old API Keys naming conventions
    #
    # Will be removed in 1.0
    alias_method :api_key,    :secret_api_key
    alias_method :api_key=,   :secret_api_key=
    alias_method :vault_key,  :public_api_key
    alias_method :vault_key=, :public_api_key=

    def logger=(logger)
      @http_logger = Omise::HTTPLogger.new(logger)
    end

    def http_logger
      @http_logger ||= Omise::HTTPLogger.new
    end

    def test!
      if !defined?(Omise::Testing::Resource)
        require "omise/testing/resource"
      end

      self.resource = Omise::Testing::Resource
    end

    private

    def get_key(name)
      if key = instance_variable_get("@#{name}")
        key
      else
        raise "Set Omise.#{name} to use this feature"
      end
    end
  end

  self.api_url   = "https://api.omise.co"
  self.vault_url = "https://vault.omise.co"
  self.resource  = Resource
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
omise-0.7.2 lib/omise/config.rb
omise-0.8.0 lib/omise/config.rb
omise-0.7.1 lib/omise/config.rb