Module: RailsCallbackLog::CallTemplateExtension

Included in:
ActiveSupport::Callbacks::CallTemplate
Defined in:
lib/rails-callback_log.rb

Overview

In rails 5.1, we extend ‘CallTemplate`.

Instance Method Summary collapse

Instance Method Details

#make_lambdaObject

Returns a lambda that wraps ‘super`, adding logging.



30
31
32
33
34
35
36
37
38
39
# File 'lib/rails-callback_log.rb', line 30

def make_lambda
  original_lambda = super
  lambda { |*args, &block|
    if !::RailsCallbackLog::FILTER ||
      caller.any? { |line| ::RailsCallbackLog.matches_filter?(line) }
      ::RailsCallbackLog.logger.debug(format("Callback: %s", @method_name))
    end
    original_lambda.call(*args, &block)
  }
end