ActionDispatch::Integration::RequestHelpers - Ruby on Rails API (original) (raw)

Public instance methods

**delete**(path, **args)

Permalink

Source code GitHub

# File actionpack/lib/action_dispatch/testing/integration.rb, line 42
def delete(path, **args)
  process(:delete, path, **args)
end

**follow_redirect!**(headers: {}, **args)

Permalink

Follow a single redirect response. If the last response was not a redirect, an exception will be raised. Otherwise, the redirect is performed on the location header. If the redirection is a 307 or 308 redirect, the same HTTP verb will be used when redirecting, otherwise a GET request will be performed. Any arguments are passed to the underlying request.

The HTTP_REFERER header will be set to the previous url.

Source code GitHub

# File actionpack/lib/action_dispatch/testing/integration.rb, line 65
def follow_redirect!(headers: {}, **args)
  raise "not a redirect! #{status} #{status_message}" unless redirect?

  method =
    if [307, 308].include?(response.status)
      request.method.downcase
    else
      :get
    end

  if [ :HTTP_REFERER, "HTTP_REFERER" ].none? { |key| headers.key? key }
    headers["HTTP_REFERER"] = request.url
  end

  public_send(method, response.location, headers: headers, **args)
  status
end

**get**(path, **args)

Permalink

Source code GitHub

# File actionpack/lib/action_dispatch/testing/integration.rb, line 18
def get(path, **args)
  process(:get, path, **args)
end

**head**(path, **args)

Permalink

Source code GitHub

# File actionpack/lib/action_dispatch/testing/integration.rb, line 48
def head(path, **args)
  process(:head, path, **args)
end

**options**(path, **args)

Permalink

Source code GitHub

# File actionpack/lib/action_dispatch/testing/integration.rb, line 54
def options(path, **args)
  process(:options, path, **args)
end

**patch**(path, **args)

Permalink

Source code GitHub

# File actionpack/lib/action_dispatch/testing/integration.rb, line 30
def patch(path, **args)
  process(:patch, path, **args)
end

**post**(path, **args)

Permalink

Source code GitHub

# File actionpack/lib/action_dispatch/testing/integration.rb, line 24
def post(path, **args)
  process(:post, path, **args)
end

**put**(path, **args)

Permalink

Source code GitHub

# File actionpack/lib/action_dispatch/testing/integration.rb, line 36
def put(path, **args)
  process(:put, path, **args)
end

Definition files