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.
551 552 553 554 |
# File 'lib/redis_client.rb', line 551 def initialize(raw_connection, command_builder) @raw_connection = raw_connection @command_builder = command_builder end |
Instance Method Details
#call(*command, **kwargs) ⇒ Object
556 557 558 559 |
# File 'lib/redis_client.rb', line 556 def call(*command, **kwargs) raw_connection.write(@command_builder.generate(command, kwargs)) nil end |
#call_v(command) ⇒ Object
561 562 563 564 |
# File 'lib/redis_client.rb', line 561 def call_v(command) raw_connection.write(@command_builder.generate(command)) nil end |
#close ⇒ Object
566 567 568 569 570 |
# File 'lib/redis_client.rb', line 566 def close @raw_connection&.close @raw_connection = nil # PubSub can't just reconnect self end |
#next_event(timeout = nil) ⇒ Object
572 573 574 575 576 577 578 579 580 |
# File 'lib/redis_client.rb', line 572 def next_event(timeout = nil) unless raw_connection raise ConnectionError, "Connection was closed or lost" end raw_connection.read(timeout) rescue ReadTimeoutError nil end |