Module: RailsCallbackLog::CallbackExtension

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

Overview

In rails 4.2 and 5.0, we extend ‘Callback`.

Instance Method Summary collapse

Instance Method Details

#make_lambda(filter) ⇒ Object

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



45
46
47
48
49
50
51
52
53
54
# File 'lib/rails-callback_log.rb', line 45

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