* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Predis\Commands; /** * @link http://redis.io/commands/eval * @author Daniele Alessandri */ class ServerEval extends Command implements IPrefixable { /** * {@inheritdoc} */ public function getId() { return 'EVAL'; } /** * {@inheritdoc} */ public function prefixKeys($prefix) { $arguments = $this->getArguments(); for ($i = 2; $i < $arguments[1] + 2; $i++) { $arguments[$i] = "$prefix{$arguments[$i]}"; } $this->setRawArguments($arguments); } /** * {@inheritdoc} */ protected function canBeHashed() { return false; } /** * Calculates the SHA1 hash of the body of the script. * * @return string SHA1 hash. */ public function getScriptHash() { return sha1($this->getArgument(0)); } }