module CallLogger::ClassMethods

Public Instance Methods

do_log(name, args, &block) click to toggle source
# File lib/call_logger.rb, line 59
def do_log(name, args, &block)
  logger = ::CallLogger.configuration.logger
  formatter = ::CallLogger.configuration.formatter
  call_wrapper = CallWrapper.new(
    logger: logger, formatter: formatter
  )
  call_wrapper.call(name, args, &block)
end
log(*methods) click to toggle source
# File lib/call_logger.rb, line 38
def log(*methods)
  wrap_log(self, methods)
end
log_block(name, &block) click to toggle source
# File lib/call_logger.rb, line 46
def log_block(name, &block)
  do_log(name, [], &block)
end
log_class(*methods) click to toggle source
# File lib/call_logger.rb, line 42
def log_class(*methods)
  wrap_log(singleton_class, methods)
end
wrap_log(owner, methods) click to toggle source
# File lib/call_logger.rb, line 50
def wrap_log(owner, methods)
  wrapper = MethodWrapper.new(owner, self)
  if methods.size == 1 && owner.respond_to?(methods.first)
    wrapper.wrap_single(methods.first)
  else
    wrapper.wrap_multiple(methods)
  end
end