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.



26
27
28
29
30
31
32
33
34
35
# File 'lib/rails-callback_log.rb', line 26

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