Module: CallLogger::ClassMethods
- Defined in:
- lib/call_logger.rb
Instance Method Summary collapse
- #do_log(name, args, &block) ⇒ Object
- #log(*methods) ⇒ Object
- #log_block(name, &block) ⇒ Object
- #log_class(*methods) ⇒ Object
- #wrap_log(owner, methods) ⇒ Object
Instance Method Details
#do_log(name, args, &block) ⇒ Object
59 60 61 62 63 64 65 66 |
# 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) ⇒ Object
38 39 40 |
# File 'lib/call_logger.rb', line 38 def log(*methods) wrap_log(self, methods) end |
#log_block(name, &block) ⇒ Object
46 47 48 |
# File 'lib/call_logger.rb', line 46 def log_block(name, &block) do_log(name, [], &block) end |
#log_class(*methods) ⇒ Object
42 43 44 |
# File 'lib/call_logger.rb', line 42 def log_class(*methods) wrap_log(singleton_class, methods) end |
#wrap_log(owner, methods) ⇒ Object
50 51 52 53 54 55 56 57 |
# 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 |