module VCR::Hooks::ClassMethods

def define_hook(hook_type, prepend = false)

def define_hook(hook_type, prepend = false)
  placement_method = prepend ? :unshift : :<<
  # Put the hook methods in a module so we can override and super to these methods.
  self::DefinedHooks.module_eval do
    define_method hook_type do |*filters, &hook|
      hooks[hook_type].send(placement_method, FilteredHook.new(hook, filters))
    end
  end
end