Module: Services::Base::CallLogger
- Defined in:
- lib/services/modules/call_logger.rb
Defined Under Namespace
Modules: ClassMethods
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.prepended(mod) ⇒ Object
4 5 6 7 8 9 10 11 12 |
# File 'lib/services/modules/call_logger.rb', line 4 def self.prepended(mod) mod.extend ClassMethods mod.instance_eval do def inherited(subclass) subclass.extend ClassMethods subclass.disable_call_logging if self.call_logging_disabled end end end |
Instance Method Details
#call(*args, **kwargs) ⇒ Object
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/services/modules/call_logger.rb', line 30 def call(*args, **kwargs) unless self.class.call_logging_disabled log "START with args: #{args}, kwargs: #{kwargs}", caller: caller start = Time.now end begin result = super rescue => e log (e), {}, 'error' raise e ensure log 'END', duration: (Time.now - start).round(2) unless self.class.call_logging_disabled result end end |