class CallLogger::CallWrapper
Attributes
formatter[R]
logger[R]
Public Class Methods
new(formatter:, logger: )
click to toggle source
# File lib/call_logger/call_wrapper.rb, line 7 def initialize(formatter:, logger: ) @formatter = formatter @logger = logger end
Public Instance Methods
call(name, args) { || ... }
click to toggle source
# File lib/call_logger/call_wrapper.rb, line 12 def call(name, args) logger.call(formatter.before(name, args)) result = nil seconds = Benchmark.realtime { result = yield } logger.call(formatter.after(name, result, seconds: seconds)) result rescue StandardError => e logger.call(formatter.error(name, e)) raise end