# module ActionDispatch::Integration::Runner

### Public Instance Methods

app() click to toggle source

    # File lib/action_dispatch/testing/integration.rb, line 317
    def app
      @app ||= nil
    end

default_url_options() click to toggle source

    # File lib/action_dispatch/testing/integration.rb, line 364
    def default_url_options
      reset! unless integration_session
      integration_session.default_url_options
    end

default_url_options=(options) click to toggle source

    # File lib/action_dispatch/testing/integration.rb, line 369
    def default_url_options=(options)
      integration_session.url_options
      integration_session.default_url_options = options
    end

method_missing(sym, *args, &block) click to toggle source

Delegate unhandled messages to the current session instance.

Calls superclass method

    # File lib/action_dispatch/testing/integration.rb, line 379
    def method_missing(sym, *args, &block)
      reset! unless integration_session
      if integration_session.respond_to?(sym)
        integration_session.__send__(sym, *args, &block).tap do
          copy_session_variables!
        end
      else
        super
      end
    end

open_session(app = nil) { |session| ... } click to toggle source

Open a new session instance. If a block is given, the new session is yielded to the block before being returned.

    session = open_session do |sess|
      sess.extend(CustomAssertions)
    end

By default, a single session is automatically created for you, but you can use this method to open multiple sessions that ought to be tested simultaneously.

    # File lib/action_dispatch/testing/integration.rb, line 349
    def open_session(app = nil)
      dup.tap do |session|
        yield session if block_given?
      end
    end

reset!() click to toggle source

Reset the current session. This is useful for testing multiple sessions in a single test case.

    # File lib/action_dispatch/testing/integration.rb, line 323
    def reset!
      @integration_session = Integration::Session.new(app)
    end

respond_to?(method, include_private = false) click to toggle source
Calls superclass method

    # File lib/action_dispatch/testing/integration.rb, line 374
    def respond_to?(method, include_private = false)
      integration_session.respond_to?(method, include_private) || super
    end