Sha256: 80b1d6fa8c3e996438f47a6c9071a5b01b852ed727791d6107780b1a99119a30

Contents?: true

Size: 1.89 KB

Versions: 1

Compression:

Stored size: 1.89 KB

Contents

require 'ostruct'
require 'threadify'

module Stella
  extend self

  LIB_HOME = File.expand_path File.dirname(__FILE__) unless defined?(LIB_HOME)
  
  %w{storable sysinfo gibbler benelux}.each do |dir|
    $:.unshift File.join(LIB_HOME, '..', '..', dir, 'lib')
  end
  require 'sysinfo'
  require 'drydock/screen'
  require 'storable'
  require 'gibbler'
  require 'gibbler/aliases'
  require 'benelux'
  
  @@sysinfo = SysInfo.new.freeze
  @@logger = Drydock::Screen
  @@loglev = 1
  @@debug  = false
  @@abort  = false
  
  # Puts +msg+ to +@@logger+
  def lflush; @@logger.flush if @@logger.respond_to? :flush; end
  def li(*msg); msg.each { |m| @@logger.puts m } if !quiet? end
  def li1(*msg); li *msg if @@loglev >= 1 end
  def li2(*msg); li *msg if @@loglev >= 2 end
  def li3(*msg); li *msg if @@loglev >= 3 end
  def li4(*msg); li *msg if @@loglev >= 4 end
  
  # Puts +msg+ to +@@logger+ with "ERROR: " prepended
  def le(*msg); @@logger.puts "  " << msg.join("#{$/}  ").color(:red); end
  # Puts +msg+ to +@@logger+ if +Rudy.debug?+ returns true
  def ld(*msg)
    @@logger.puts "D:  " << msg.join("#{$/}D:  ") if debug?
  end
  
  def loglev; @@loglev; end
  def loglev=(val); @@loglev = val; end
  def sysinfo; @@sysinfo; end
  
  def quiet?; @@loglev == 0; end
  def enable_quiet; @@loglev = 0; end
  def disable_quiet; @@loglev = 1; end

  def debug?; @@debug == true; end
  def enable_debug; @@debug = true; end
  def disable_debug; @@debug = false; end
  
  def abort?
    @@abort == true
  end
  def abort!() @@abort = true end
  
  def rescue(&blk)
    blk.call
  rescue => ex
    Stella.le "ERROR: #{ex.message}"
    Stella.li3 ex.backtrace
  end
end

require 'stella/version'
require 'stella/exceptions'
require 'stella/utils'
require 'stella/config'
require 'stella/data'
require 'stella/client'

Stella::Utils.require_vendor "httpclient", '2.1.5.2'
Stella::Utils.require_glob(Stella::LIB_HOME, 'stella', '*.rb')

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
stella-0.7.0.015 lib/stella.rb