class Redis

def subscription(method, channels, block)

def subscription(method, channels, block)
  return @client.call(method, *channels) if subscribed?
  begin
    original, @client = @client, SubscribedClient.new(@client)
    @client.send(method, *channels, &block)
  ensure
    @client = original
  end
end