module Sinatra::PubSub::Redis
Public Instance Methods
publish(channel, message)
click to toggle source
# File lib/sinatra/pubsub/redis.rb, line 18 def publish(channel, message) redis = ::Redis.connect redis.publish("pubsub.#{channel}", message) end
publish_all(message)
click to toggle source
# File lib/sinatra/pubsub/redis.rb, line 23 def publish_all(message) publish(:all, message) end
subscribe()
click to toggle source
# File lib/sinatra/pubsub/redis.rb, line 6 def subscribe redis = ::Redis.connect redis.psubscribe('pubsub', 'pubsub.*') do |on| on.pmessage do |match, channel, message| channel = channel.sub(/\Apubsub\.?/, '') channel = channel.empty? ? :all : channel.to_sym Stream.publish(channel, message) end end end