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
-
#default_logger ⇒ Object
Add default_logger accessor into Object.
- #default_logger=(logger) ⇒ Object
-
#error(message, type = :standard, backtrace = nil) ⇒ Object
Patching Object with universally accessible top level error method.
-
#log(*args) ⇒ Object
Add universally accessible log method/accessor into Object.
Instance Method Details
#default_logger ⇒ Object
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. The method is used throughout the lib instead of plainly raising exceptions. This allows lib user to easily inject user-specific error handling into the lib by just replacing Object#error method.
22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/ib/errors.rb', line 22 def error , type=:standard, backtrace=nil e = case type when :standard IB::Error.new when :args IB::ArgumentError.new when :symbol IB::SymbolError.new when :load IB::LoadError.new 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 |