class Shoulda::Matchers::ActionController::RedirectToMatcher

@private

def description

def description
  "redirect to #{@location.inspect}"
end

def in_context(context)

def in_context(context)
  @context = context
  self
end

def initialize(url_or_description, context, &block)

def initialize(url_or_description, context, &block)
  @url_block = nil
  @url = nil
  @context = context
  @failure_message = nil
  @failure_message_when_negated = nil
  if block
    @url_block = block
    @location = url_or_description
  else
    @location = @url = url_or_description
  end
end

def matches?(controller)

def matches?(controller)
  @controller = controller
  redirects_to_url?
end

def redirects_to_url?

def redirects_to_url?
  begin
    @context.__send__(:assert_redirected_to, url)
    @failure_message_when_negated = "Didn't expect to redirect to #{url}"
    true
  rescue Shoulda::Matchers.assertion_exception_class => error
    @failure_message = error.message
    false
  end
end

def url

def url
  if @url_block
    @context.instance_eval(&@url_block)
  else
    @url
  end
end