Module: ActionDispatch::Integration::RequestHelpers

Included in:
Session
Defined in:
actionpack/lib/action_dispatch/testing/integration.rb

Instance Method Summary collapse

Instance Method Details

#delete(path, **args) ⇒ Object

Performs a DELETE request with the given parameters. See ActionDispatch::Integration::Session#process for more details.


39
40
41
# File 'actionpack/lib/action_dispatch/testing/integration.rb', line 39

def delete(path, **args)
  process(:delete, path, **args)
end

#follow_redirect!(**args) ⇒ Object

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.


61
62
63
64
65
66
67
68
69
70
71
72
73
# File 'actionpack/lib/action_dispatch/testing/integration.rb', line 61

def follow_redirect!(**args)
  raise "not a redirect! #{status} #{status_message}" unless redirect?

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

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

#get(path, **args) ⇒ Object

Performs a GET request with the given parameters. See ActionDispatch::Integration::Session#process for more details.


15
16
17
# File 'actionpack/lib/action_dispatch/testing/integration.rb', line 15

def get(path, **args)
  process(:get, path, **args)
end

#head(path, **args) ⇒ Object

Performs a HEAD request with the given parameters. See ActionDispatch::Integration::Session#process for more details.


45
46
47
# File 'actionpack/lib/action_dispatch/testing/integration.rb', line 45

def head(path, **args)
  process(:head, path, **args)
end

#options(path, **args) ⇒ Object

Performs an OPTIONS request with the given parameters. See ActionDispatch::Integration::Session#process for more details.


51
52
53
# File 'actionpack/lib/action_dispatch/testing/integration.rb', line 51

def options(path, **args)
  process(:options, path, **args)
end

#patch(path, **args) ⇒ Object

Performs a PATCH request with the given parameters. See ActionDispatch::Integration::Session#process for more details.


27
28
29
# File 'actionpack/lib/action_dispatch/testing/integration.rb', line 27

def patch(path, **args)
  process(:patch, path, **args)
end

#post(path, **args) ⇒ Object

Performs a POST request with the given parameters. See ActionDispatch::Integration::Session#process for more details.


21
22
23
# File 'actionpack/lib/action_dispatch/testing/integration.rb', line 21

def post(path, **args)
  process(:post, path, **args)
end

#put(path, **args) ⇒ Object

Performs a PUT request with the given parameters. See ActionDispatch::Integration::Session#process for more details.


33
34
35
# File 'actionpack/lib/action_dispatch/testing/integration.rb', line 33

def put(path, **args)
  process(:put, path, **args)
end