Sha256: 264616934fe44b5e426c61acec1c25feccdd1056d8f3b0d9d25ddaaad177ff7a
Contents?: true
Size: 1.08 KB
Versions: 2
Compression:
Stored size: 1.08 KB
Contents
# frozen_string_literal: false module RubySmart module SimpleLogger module KlassLogger def self.extended(base) base.send(:include, RubySmart::SimpleLogger::Logger::Severity) base.class_eval do self.klass_logger_opts = {} end end def klass_logger_opts class_variable_get('@@klass_logger_opts') end def klass_logger_opts=(opts) clear! class_variable_set('@@klass_logger_opts', opts) end # delegate new method to logger def new(*args) args = [nil, self.klass_logger_opts.dup] if args.length == 0 RubySmart::SimpleLogger::Logger.new(*args) end def klass_logger @klass_logger ||= self.new end def clear! @klass_logger = nil end def method_missing(name, *args, &block) return self.klass_logger.send(name, *args) if self.klass_logger.respond_to? name super end def respond_to?(method_name, _include_private = false) self.klass_logger.respond_to? method_name end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
ruby_smart-simple_logger-1.1.1 | lib/ruby_smart/simple_logger/klass_logger.rb |
ruby_smart-simple_logger-1.1.0 | lib/ruby_smart/simple_logger/klass_logger.rb |