class ActionCable::Channel::ConnectionStub

Attributes

identifiers[R]
logger[R]
server[R]
subscriptions[R]
transmissions[R]

Public Class Methods

new(identifiers = {}) click to toggle source
# File lib/action_cable/channel/test_case.rb, line 55
def initialize(identifiers = {})
  @server = ActionCable.server
  @transmissions = []

  identifiers.each do |identifier, val|
    define_singleton_method(identifier) { val }
  end

  @subscriptions = ActionCable::Connection::Subscriptions.new(self)
  @identifiers = identifiers.keys
  @logger = ActiveSupport::TaggedLogging.new ActiveSupport::Logger.new(StringIO.new)
end

Public Instance Methods

connection_identifier() click to toggle source
# File lib/action_cable/channel/test_case.rb, line 72
def connection_identifier
  @connection_identifier ||= connection_gid(identifiers.filter_map { |id| send(id.to_sym) if id })
end
transmit(cable_message) click to toggle source
# File lib/action_cable/channel/test_case.rb, line 68
def transmit(cable_message)
  transmissions << cable_message.with_indifferent_access
end

Private Instance Methods

connection_gid(ids) click to toggle source
# File lib/action_cable/channel/test_case.rb, line 77
def connection_gid(ids)
  ids.map do |o|
    if o.respond_to?(:to_gid_param)
      o.to_gid_param
    else
      o.to_s
    end
  end.sort.join(":")
end