Top Level Namespace

Defined Under Namespace

Modules: IB, Ib Classes: FalseClass, NilClass, Numeric, Object, String, Symbol, Time, TrueClass

Constant Summary collapse

IbRuby =

module IB

IB

Instance Method Summary collapse

Instance Method Details

#default_loggerObject

Add default_logger accessor into Object



4
5
6
7
8
9
10
11
# File 'lib/ib/logger.rb', line 4

def default_logger
  @@default_logger ||= Logger.new(STDOUT).tap do |logger|
    logger.formatter = proc do |level, time, prog, msg|
      "#{time.strftime('%H:%M:%S.%N')} #{msg}\n"
    end
    logger.level = Logger::INFO
  end
end

#default_logger=(logger) ⇒ Object



13
14
15
# File 'lib/ib/logger.rb', line 13

def default_logger= logger
  @@default_logger = logger
end

#error(message, type = :standard, backtrace = nil) ⇒ Object

Patching Object with universally accessible top level error method



16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/ib/errors.rb', line 16

def error message, type=:standard, backtrace=nil
  e = case type
        when :standard
          IB::Error.new message
        when :args
          IB::ArgumentError.new message
        when :load
          IB::LoadError.new message
      end
  e.set_backtrace(backtrace) if backtrace
  raise e
end

#log(*args) ⇒ Object

Add universally accessible log method/accessor into Object



18
19
20
21
22
# File 'lib/ib/logger.rb', line 18

def log *args
  default_logger.tap do |logger|
    logger.fatal *args unless args.empty?
  end
end