Class: ActionCable::Connection::TestServer
| Relationships & Source Files | |
| Inherits: | Object |
| Defined in: | actioncable/lib/action_cable/connection/test_case.rb |
Overview
TestServer provides test pub/sub and executor implementations
Class Method Summary
- .new(server) ⇒ TestServer constructor
Instance Attribute Summary
Instance Method Summary
- #advance_time(seconds)
- #executor
-
#post(&work)
Inline async calls.
- #pubsub
-
#subscribe(stream, callback, success_callback = nil)
Pub/sub interface ==.
- #timer(every, &block)
- #unsubscribe(stream, callback)
Constructor Details
.new(server) ⇒ TestServer
Instance Attribute Details
#config (readonly)
[ GitHub ]#streams (readonly)
[ GitHub ]#timers (readonly)
[ GitHub ]Instance Method Details
#advance_time(seconds)
[ GitHub ]#executor
[ GitHub ]# File 'actioncable/lib/action_cable/connection/test_case.rb', line 144
alias_method :executor, :itself
#post(&work)
Inline async calls
# File 'actioncable/lib/action_cable/connection/test_case.rb', line 149
def post(&work) = work.call
#pubsub
[ GitHub ]# File 'actioncable/lib/action_cable/connection/test_case.rb', line 143
alias_method :pubsub, :itself
#subscribe(stream, callback, success_callback = nil)
Pub/sub interface ==
# File 'actioncable/lib/action_cable/connection/test_case.rb', line 160
def subscribe(stream, callback, success_callback = nil) @streams[stream] << callback success_callback&.call end
#timer(every, &block)
[ GitHub ]#unsubscribe(stream, callback)
[ GitHub ]# File 'actioncable/lib/action_cable/connection/test_case.rb', line 165
def unsubscribe(stream, callback) @streams[stream].delete(callback) @streams.delete(stream) if @streams[stream].empty? end