Module: Sinatra::PubSub::Redis
Instance Method Summary collapse
Instance Method Details
#publish(channel, message) ⇒ Object
18 19 20 21 |
# File 'lib/sinatra/pubsub/redis.rb', line 18 def publish(channel, ) redis = ::Redis.connect redis.publish("pubsub.#{channel}", ) end |
#publish_all(message) ⇒ Object
23 24 25 |
# File 'lib/sinatra/pubsub/redis.rb', line 23 def publish_all() publish(:all, ) end |
#subscribe ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 |
# File 'lib/sinatra/pubsub/redis.rb', line 6 def subscribe redis = ::Redis.connect redis.psubscribe('pubsub', 'pubsub.*') do |on| on. do |match, channel, | channel = channel.sub(/\Apubsub\.?/, '') channel = channel.empty? ? :all : channel.to_sym Stream.publish(channel, ) end end end |