Class: RedisClient::PubSub
- Inherits:
-
Object
- Object
- RedisClient::PubSub
- Defined in:
- lib/redis_client.rb
Instance Method Summary collapse
- #call(*command, **kwargs) ⇒ Object
- #call_v(command) ⇒ Object
- #close ⇒ Object
-
#initialize(raw_connection, command_builder) ⇒ PubSub
constructor
A new instance of PubSub.
- #next_event(timeout = nil) ⇒ Object
Constructor Details
#initialize(raw_connection, command_builder) ⇒ PubSub
Returns a new instance of PubSub.
573 574 575 576 |
# File 'lib/redis_client.rb', line 573 def initialize(raw_connection, command_builder) @raw_connection = raw_connection @command_builder = command_builder end |
Instance Method Details
#call(*command, **kwargs) ⇒ Object
578 579 580 581 |
# File 'lib/redis_client.rb', line 578 def call(*command, **kwargs) raw_connection.write(@command_builder.generate(command, kwargs)) nil end |
#call_v(command) ⇒ Object
583 584 585 586 |
# File 'lib/redis_client.rb', line 583 def call_v(command) raw_connection.write(@command_builder.generate(command)) nil end |
#close ⇒ Object
588 589 590 591 592 |
# File 'lib/redis_client.rb', line 588 def close @raw_connection&.close @raw_connection = nil # PubSub can't just reconnect self end |
#next_event(timeout = nil) ⇒ Object
594 595 596 597 598 599 600 601 602 |
# File 'lib/redis_client.rb', line 594 def next_event(timeout = nil) unless raw_connection raise ConnectionError, "Connection was closed or lost" end raw_connection.read(timeout) rescue ReadTimeoutError nil end |