diff --git a/lib/redis_failover/client.rb b/lib/redis_failover/client.rb
index <HASH>..<HASH> 100644
--- a/lib/redis_failover/client.rb
+++ b/lib/redis_failover/client.rb
@@ -36,6 +36,12 @@ module RedisFailover
       end
     end
 
+    def call(command, &block)
+      method = command[0]
+      args = command[1..-1]
+      dispatch(method, *args, &block)
+    end
+
     # Creates a new failover redis client.
     #
     # @param [Hash] options the options used to initialize the client instance
diff --git a/spec/client_spec.rb b/spec/client_spec.rb
index <HASH>..<HASH> 100644
--- a/spec/client_spec.rb
+++ b/spec/client_spec.rb
@@ -66,6 +66,13 @@ module RedisFailover
       end
     end
 
+    describe '#call' do
+      it 'should dispatch :call messages to correct method' do
+        client.should_receive(:dispatch).with(:foo, *['key'])
+        client.call([:foo, 'key'])
+      end
+    end
+
       context 'with :master_only false' do
         it 'routes read operations to a slave' do
           called = false
Define 'call' method on client to enable use with redis-store