Sha256: 5c0a5b8f7347e36ab8612a831283396143ec1b192ad9df638f1cfcf55c280ac5

Contents?: true

Size: 969 Bytes

Versions: 4

Compression:

Stored size: 969 Bytes

Contents

module Vault
  module Config
    extend self

    def remote_env(app, env)
      heroku = Heroku::API.new
      heroku.get_config_vars(app).body[env]
    end

    def core_follower_url
      remote_env('vault-core-follower', 'DATABASE_URL')
    end

    def env(key)
      ENV[key]
    end

    def env!(key)
      env(key) || raise("missing #{key}")
    end

    def production?
      env('RACK_ENV') == 'production'
    end

    def test?
      env('RACK_ENV') == 'test'
    end

    def app_name
      env("APP_NAME")
    end

    def port
      env!("PORT").to_i
    end

    def database_url(kind = '')
      kind = "#{kind}_".upcase unless kind.empty?
      env!("#{kind}DATABASE_URL")
    end

    def enable_ssl?
      !env('VAULT_TOOLS_DISABLE_SSL')
    end

    def int(key)
      env(key) ? env(key).to_i : nil
    end

    def bool?(key)
      ENV[key] == 'true'
    end

    def sidekiq_concurrency
      int('SIDEKIQ_CONCURRENCY') || 25
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
vault-tools-0.3.10 lib/vault-tools/config.rb
vault-tools-0.3.9 lib/vault-tools/config.rb
vault-tools-0.3.8 lib/vault-tools/config.rb
vault-tools-0.3.7 lib/vault-tools/config.rb