From b6b84255920ef70a69b4c5901704755aa2df431e Mon Sep 17 00:00:00 2001 From: Jonathan Siegel Date: Tue, 6 Nov 2012 09:55:11 -0800 Subject: [PATCH 1/2] Added skeletal evalsha support. --- src/main/scala/com/redis/EvalOperations.scala | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/main/scala/com/redis/EvalOperations.scala b/src/main/scala/com/redis/EvalOperations.scala index 76bd97c9..fba3b1f2 100644 --- a/src/main/scala/com/redis/EvalOperations.scala +++ b/src/main/scala/com/redis/EvalOperations.scala @@ -12,6 +12,10 @@ trait EvalOperations { self: Redis => def evalBulk[A](luaCode: String, keys: List[Any], args: List[Any])(implicit format: Format, parse: Parse[A]): Option[A] = send("EVAL", argsForEval(luaCode, keys, args))(asBulk) + def evalsha[A](luaSha: String, keys: List[Any], args: List[Any])(implicit format: Format, parse: Parse[A]): Option[List[Option[A]]] = + send("EVALSHA", argsForEval(luaSha, keys, args))(asList[A]) + + private def argsForEval(luaCode: String, keys: List[Any], args: List[Any]): List[Any] = luaCode :: keys.length :: keys ::: args } From cd0694d08fd399cc822db6c8911ca6e0bc446154 Mon Sep 17 00:00:00 2001 From: Jonathan Siegel Date: Wed, 7 Nov 2012 00:54:45 -0800 Subject: [PATCH 2/2] Added evalshaBulk --- src/main/scala/com/redis/EvalOperations.scala | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/scala/com/redis/EvalOperations.scala b/src/main/scala/com/redis/EvalOperations.scala index fba3b1f2..5d15a3d2 100644 --- a/src/main/scala/com/redis/EvalOperations.scala +++ b/src/main/scala/com/redis/EvalOperations.scala @@ -12,9 +12,11 @@ trait EvalOperations { self: Redis => def evalBulk[A](luaCode: String, keys: List[Any], args: List[Any])(implicit format: Format, parse: Parse[A]): Option[A] = send("EVAL", argsForEval(luaCode, keys, args))(asBulk) - def evalsha[A](luaSha: String, keys: List[Any], args: List[Any])(implicit format: Format, parse: Parse[A]): Option[List[Option[A]]] = + def evalshaMulti[A](luaSha: String, keys: List[Any], args: List[Any])(implicit format: Format, parse: Parse[A]): Option[List[Option[A]]] = send("EVALSHA", argsForEval(luaSha, keys, args))(asList[A]) + def evalshaBulk[A](luaSha: String, keys: List[Any], args: List[Any])(implicit format: Format, parse: Parse[A]): Option[A] = + send("EVALSHA", argsForEval(luaSha, keys, args))(asBulk) private def argsForEval(luaCode: String, keys: List[Any], args: List[Any]): List[Any] = luaCode :: keys.length :: keys ::: args