class ActiveSupport::Callbacks::CallTemplate::ObjectCall

def expand(target, value, block)

def expand(target, value, block)
  [@override_target || target, block, @method_name, target]
end

def initialize(target, method)

def initialize(target, method)
  @override_target = target
  @method_name = method
end

def inverted_lambda

def inverted_lambda
  lambda do |target, value, &block|
    !(@override_target || target).send(@method_name, target, &block)
  end
end

def make_lambda

def make_lambda
  lambda do |target, value, &block|
    (@override_target || target).send(@method_name, target, &block)
  end
end