From 158e8571dfb13b4cf308b1b00866c6557593336d Mon Sep 17 00:00:00 2001 From: Dobrica Pavlinusic Date: Sun, 22 Mar 2009 13:18:11 +0000 Subject: [PATCH] lset, generalize _sock_send_bulk to any number of arguments git-svn-id: svn+ssh://llin/home/dpavlin/private/svn/Redis@24 447b33ff-793d-4489-8442-9bea7d161be5 --- lib/Redis.pm | 17 ++++++++++++++--- t/01-Redis.t | 5 ++++- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/lib/Redis.pm b/lib/Redis.pm index 8fe98d6..cb78dc9 100644 --- a/lib/Redis.pm +++ b/lib/Redis.pm @@ -97,8 +97,9 @@ sub _sock_send_ok { } sub _sock_send_bulk { - my ( $self, $command, $key, $value ) = @_; - print $sock "$command $key " . length($value) . "\r\n$value\r\n"; + my $self = shift; + my $value = pop; + print $sock join(' ',@_) . ' ' . length($value) . "\r\n$value\r\n"; _sock_ok(); } @@ -334,9 +335,19 @@ sub ltrim { sub lindex { my ( $self, $key, $index ) = @_; - $self->_sock_result_bulk( 'lindex', $key, $index ); + $self->_sock_result_bulk( 'LINDEX', $key, $index ); } +=head2 lset + + $r->lset( $key, $index, $value ); + +=cut + +sub lset { + my ( $self, $key, $index, $value ) = @_; + $self->_sock_send_bulk( 'LSET', $key, $index, $value ); +} =head1 AUTHOR diff --git a/t/01-Redis.t b/t/01-Redis.t index d41bd3f..3e6e62b 100755 --- a/t/01-Redis.t +++ b/t/01-Redis.t @@ -3,7 +3,7 @@ use warnings; use strict; -use Test::More tests => 64; +use Test::More tests => 66; use lib 'lib'; @@ -98,4 +98,7 @@ cmp_ok( $o->llen($list), '==', 2, 'llen after ltrim' ); cmp_ok( $o->lindex( $list, 0 ), 'eq', 'l1', 'lindex' ); cmp_ok( $o->lindex( $list, 1 ), 'eq', 'r1', 'lindex' ); +ok( $o->lset( $list, 0, 'foo' ), 'lset' ); +cmp_ok( $o->lindex( $list, 0 ), 'eq', 'foo', 'verified' ); + ok( $o->quit, 'quit' ); -- 2.20.1