class ActiveSupport::Callbacks::CallTemplate::ProcCall

def expand(target, value, block)

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

def initialize(target)

def initialize(target)
  @override_target = target
end

def inverted_lambda

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

def make_lambda

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