Skip to Content Skip to Search
Namespace
Methods
B
C
N
P
T

Attributes

[R] closed
[R] env
[R] logger
[R] request
[R] transmissions

Class Public methods

build_request(path, params: nil, headers: {}, session: {}, env: {}, cookies: nil)

# File actioncable/lib/action_cable/connection/test_case.rb, line 62
def build_request(path, params: nil, headers: {}, session: {}, env: {}, cookies: nil)
  wrapped_headers = ActionDispatch::Http::Headers.from_hash(headers)

  uri = URI.parse(path)

  query_string = params.nil? ? uri.query : params.to_query

  request_env = {
    "QUERY_STRING" => query_string,
    "PATH_INFO" => uri.path
  }.merge(env)

  if wrapped_headers.present?
    ActionDispatch::Http::Headers.from_hash(request_env).merge!(wrapped_headers)
  end

  Request.create(request_env).tap do |request|
    request.session = session.with_indifferent_access
    request.cookie_jar = cookies
  end
end

new(request)

# File actioncable/lib/action_cable/connection/test_case.rb, line 85
def initialize(request)
  inner_logger = ActiveSupport::Logger.new(StringIO.new)
  tagged_logging = ActiveSupport::TaggedLogging.new(inner_logger)
  @logger = ActionCable::Server::TaggedLoggerProxy.new(tagged_logging, tags: [])
  @request = request
  @env = request.env
  @connection = nil
  @closed = false
  @transmissions = []
end

Instance Public methods

close()

# File actioncable/lib/action_cable/connection/test_case.rb, line 100
def close
  @closed = true
end

perform_work(receiver, ...)

# File actioncable/lib/action_cable/connection/test_case.rb, line 104
def perform_work(receiver, ...)
  receiver.public_send(...)
end

transmit(data)

# File actioncable/lib/action_cable/connection/test_case.rb, line 96
def transmit(data)
  @transmissions << data.with_indifferent_access
end