class TriannonClient::Configuration

Attributes

client_id[RW]

Parameters for triannon client authentication

client_pass[RW]
container[RW]

Parameters for triannon container

container_user[RW]
container_workgroups[RW]
debug[RW]
host[RW]

Parameters for triannon server

log_file[R]
logger[RW]

Public Class Methods

new() click to toggle source
# File lib/triannon-client/configuration.rb, line 24
def initialize
  self.debug = env_boolean('DEBUG')

  @host = ENV['TRIANNON_HOST'] || 'http://localhost:3000'
  # @user = ENV['TRIANNON_USER'] || '' # triannon doesn't support basic auth
  # @pass = ENV['TRIANNON_PASS'] || '' # triannon doesn't support basic auth

  # Parameters for triannon client authentication
  @client_id   = ENV['TRIANNON_CLIENT_ID'] || ''
  @client_pass = ENV['TRIANNON_CLIENT_PASS'] || ''

  # Parameters for triannon container
  @container = ENV['TRIANNON_CONTAINER'] || ''
  @container += '/' unless(@container.empty? || @container.end_with?('/'))
  @container_user = ENV['TRIANNON_CONTAINER_USER'] || ''
  @container_workgroups = ENV['TRIANNON_CONTAINER_WORKGROUPS'] || ''

  # logger
  begin
    log_file = ENV['TRIANNON_LOG_FILE'] || 'log/triannon_client.log'
    @log_file = File.absolute_path log_file
    FileUtils.mkdir_p File.dirname(@log_file) rescue nil
    log_dev = File.new(@log_file, 'w+')
  rescue
    log_dev = $stderr
    @log_file = 'STDERR'
  end
  log_dev.sync = true if @debug # skip IO buffering in debug mode
  @logger = Logger.new(log_dev, 'weekly')
  @logger.level = @debug ? Logger::DEBUG : Logger::INFO
end

Public Instance Methods

debug=(bool) click to toggle source
# File lib/triannon-client/configuration.rb, line 61
def debug=(bool)
  raise ArgumentError unless [true, false].include?(bool)
  @debug = bool
  if @debug
    # pry must be available when the client is configured to run in debug
    # mode, where it will fall into a pry console for rescue blocks.
    require 'pry'
    require 'pry-doc'
  end
end
env_boolean(var) click to toggle source
# File lib/triannon-client/configuration.rb, line 56
def env_boolean(var)
  # check if an ENV variable is true, use false as default
  ENV[var].to_s.upcase == 'TRUE' rescue false
end