Sha256: ce34960d289344d2db75572d7c0b59a41d2c80925325454e9a1170f69eba807d

Contents?: true

Size: 1.69 KB

Versions: 1

Compression:

Stored size: 1.69 KB

Contents

module ExvoAuth::Config
  def self.debug
    @@debug ||= ENV['AUTH_DEBUG'] || false
  end

  def self.debug=(debug)
    @@debug = debug
  end

  def self.host
    @@host ||= ENV['AUTH_HOST'] || default_opts[env.to_sym][:host]
  end

  def self.host=(host)
    @@host = host
  end

  def self.uri
    if host =~ /^http(s)*/
      # Legacy compatibility, when `host` was incorrectly used as `uri`
      host
    else
      require_ssl ? "https://#{host}" : "http://#{host}"
    end
  end

  def self.callback_key
    @@callback_key ||= '_callback'
  end

  def self.callback_key=(callback_key)
    @@callback_key = callback_key
  end

  def self.client_id
    @@client_id ||= ENV['AUTH_CLIENT_ID']
  end

  def self.client_id=(client_id)
    @@client_id = client_id
  end

  def self.client_secret
    @@client_secret ||= ENV['AUTH_CLIENT_SECRET']
  end

  def self.client_secret=(client_secret)
    @@client_secret = client_secret
  end

  def self.require_ssl
    @@require_ssl ||= ENV['AUTH_REQUIRE_SSL'] || default_opts[env.to_sym][:require_ssl]
  end

  def self.require_ssl=(require_ssl)
    @@require_ssl = require_ssl
  end

  def self.env
    @@env ||= Rails.env if defined?(Rails)
    @@env ||= Merb.env if defined?(Merb)
    @@env
  end

  def self.env=(env)
    @@env = env
  end

  private

  def self.default_opts
    {
      :production => {
        :host => 'auth.exvo.com',
        :require_ssl => true
      },
      :staging => {
        :host => 'staging.auth.exvo.com',
        :require_ssl => false
      },
      :development => {
        :host => 'auth.exvo.local',
        :require_ssl => false
      },
      :test => {
        :host => 'auth.exvo.local',
        :require_ssl => false
      }
    }
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
exvo-auth-0.14.0 lib/exvo_auth/config.rb