Sha256: 5c0e18f4ec35e85ecef8014bc06158ebfeedce4e1b49c4840a07114ef4f74643

Contents?: true

Size: 1.13 KB

Versions: 17

Compression:

Stored size: 1.13 KB

Contents

module DHLEcommerceAPI
  class Configuration
    attr_accessor :client_id, :password, :env, :pickup_account_id, :sold_to_account_id, :env
  end

  PRODUCTION_SITE = "#"
  PRE_PRODUCTION_SITE = "https://apitest.dhlecommerce.asia"
  SANDBOX_SITE = "https://sandbox.dhlecommerce.asia"

  class << self
    def config
      @config ||= Configuration.new
    end

    def after_configure
      site = get_url(config.env)

      if defined?(Rails) && 
        # set cache
        if Rails.respond_to?(:cache) && Rails.cache.is_a?(ActiveSupport::Cache::Store)
          DHLEcommerceAPI.cache = Rails.cache
        end
        # set env if defined
        if Rails.respond_to?(:env)
          site = get_url(Rails.env)
        end
      end
      
      DHLEcommerceAPI::Base.site = site
      DHLEcommerceAPI::Authentication.site = site
    end

    def get_url(env)
      case env
      when "production"
        PRODUCTION_SITE
      when "staging"
        PRE_PRODUCTION_SITE
      when "preproduction"
        PRE_PRODUCTION_SITE
      else
        SANDBOX_SITE
      end
    end

    def configure
      yield config
      after_configure
    end
  end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
dhl_ecommerce_api-0.1.17 lib/dhl_ecommerce_api/configuration.rb
dhl_ecommerce_api-0.1.16 lib/dhl_ecommerce_api/configuration.rb
dhl_ecommerce_api-0.1.15 lib/dhl_ecommerce_api/configuration.rb
dhl_ecommerce_api-0.1.14 lib/dhl_ecommerce_api/configuration.rb
dhl_ecommerce_api-0.1.13 lib/dhl_ecommerce_api/configuration.rb
dhl_ecommerce_api-0.1.12 lib/dhl_ecommerce_api/configuration.rb
dhl_ecommerce_api-0.1.11 lib/dhl_ecommerce_api/configuration.rb
dhl_ecommerce_api-0.1.9 lib/dhl_ecommerce_api/configuration.rb
dhl_ecommerce_api-0.1.8 lib/dhl_ecommerce_api/configuration.rb
dhl_ecommerce_api-0.1.7 lib/dhl_ecommerce_api/configuration.rb
dhl_ecommerce_api-0.1.6 lib/dhl_ecommerce_api/configuration.rb
dhl_ecommerce_api-0.1.5 lib/dhl_ecommerce_api/configuration.rb
dhl_ecommerce_api-0.1.4 lib/dhl_ecommerce_api/configuration.rb
dhl_ecommerce_api-0.1.3 lib/dhl_ecommerce_api/configuration.rb
dhl_ecommerce_api-0.1.2 lib/dhl_ecommerce_api/configuration.rb
dhl_ecommerce_api-0.1.1 lib/dhl_ecommerce_api/configuration.rb
dhl_ecommerce_api-0.1.0 lib/dhl_ecommerce_api/configuration.rb