class ExtendedLogger::Define
Attributes
levels[R]
sink_defaults[R]
subclass[R]
Public Class Methods
call(*arguments)
click to toggle source
# File lib/extended_logger/define.rb, line 21 def self.call *arguments instance = new *arguments instance.() end
new(subclass, levels, sink_defaults)
click to toggle source
# File lib/extended_logger/define.rb, line 15 def initialize subclass, levels, sink_defaults @levels = levels @sink_defaults = sink_defaults @subclass = subclass end
Public Instance Methods
call()
click to toggle source
# File lib/extended_logger/define.rb, line 26 def call levels = self.level_set subclass.define_singleton_method :levels do levels end subclass.send :define_method, :levels do self.class.levels end if sink_defaults = self.sink_defaults subclass.define_singleton_method :sink_defaults do sink_defaults end end levels.each do |level| method_name = level.name subclass.send :define_method, method_name do |*arguments, &block| add level, *arguments, &block end end end
level_set()
click to toggle source
# File lib/extended_logger/define.rb, line 47 def level_set if levels.is_a? Level::Set levels else Level::Set.build levels end end