1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00
rails--rails/actioncable/test/stubs/test_connection.rb

36 lines
876 B
Ruby
Raw Normal View History

# frozen_string_literal: true
require "stubs/user"
2015-07-12 11:07:31 -04:00
class TestConnection
attr_reader :identifiers, :logger, :current_user, :server, :transmissions
2015-07-12 11:07:31 -04:00
delegate :pubsub, to: :server
def initialize(user = User.new("lifo"), coder: ActiveSupport::JSON, subscription_adapter: SuccessAdapter)
@coder = coder
2015-07-12 11:07:31 -04:00
@identifiers = [ :current_user ]
@current_user = user
@logger = ActiveSupport::TaggedLogging.new ActiveSupport::Logger.new(StringIO.new)
@server = TestServer.new(subscription_adapter: subscription_adapter)
2015-07-12 11:07:31 -04:00
@transmissions = []
end
def transmit(cable_message)
@transmissions << encode(cable_message)
2016-01-15 17:11:30 -05:00
end
def last_transmission
decode @transmissions.last if @transmissions.any?
2015-07-12 11:07:31 -04:00
end
def decode(websocket_message)
@coder.decode websocket_message
end
def encode(cable_message)
@coder.encode cable_message
2015-07-12 11:07:31 -04:00
end
end