rediska 0.0.11 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
 - data/Gemfile.lock +18 -14
 - data/lib/rediska/command_executor.rb +25 -0
 - data/lib/rediska/connection.rb +8 -1
 - data/lib/rediska/driver.rb +30 -56
 - data/lib/rediska/sort_method.rb +108 -0
 - data/lib/rediska/transaction_commands.rb +83 -0
 - data/lib/rediska/version.rb +1 -1
 - data/rediska.gemspec +1 -1
 - data/spec/lib/rediska/driver_spec.rb +5 -5
 - data/spec/redis_spec.rb +3 -0
 - data/spec/support/connection.rb +15 -15
 - data/spec/support/hashes.rb +51 -51
 - data/spec/support/keys.rb +106 -61
 - data/spec/support/lists.rb +37 -30
 - data/spec/support/server.rb +23 -23
 - data/spec/support/sets.rb +44 -44
 - data/spec/support/sorted_method.rb +136 -0
 - data/spec/support/sorted_sets.rb +140 -136
 - data/spec/support/strings.rb +74 -74
 - data/spec/support/transactions.rb +65 -12
 - data/spec/support/upcase_method_names.rb +2 -2
 - metadata +22 -17
 
    
        data/spec/support/strings.rb
    CHANGED
    
    | 
         @@ -3,42 +3,42 @@ shared_examples 'strings' do 
     | 
|
| 
       3 
3 
     | 
    
         
             
                subject.set('key1', 'Hello')
         
     | 
| 
       4 
4 
     | 
    
         
             
                subject.append('key1', ' World')
         
     | 
| 
       5 
5 
     | 
    
         | 
| 
       6 
     | 
    
         
            -
                subject.get('key1'). 
     | 
| 
      
 6 
     | 
    
         
            +
                expect(subject.get('key1')).to eq('Hello World')
         
     | 
| 
       7 
7 
     | 
    
         
             
              end
         
     | 
| 
       8 
8 
     | 
    
         | 
| 
       9 
9 
     | 
    
         
             
              it 'should decrement the integer value of a key by one' do
         
     | 
| 
       10 
10 
     | 
    
         
             
                subject.set('counter', '1')
         
     | 
| 
       11 
11 
     | 
    
         
             
                subject.decr('counter')
         
     | 
| 
       12 
12 
     | 
    
         | 
| 
       13 
     | 
    
         
            -
                subject.get('counter'). 
     | 
| 
      
 13 
     | 
    
         
            +
                expect(subject.get('counter')).to eq('0')
         
     | 
| 
       14 
14 
     | 
    
         
             
              end
         
     | 
| 
       15 
15 
     | 
    
         | 
| 
       16 
16 
     | 
    
         
             
              it 'should decrement the integer value of a key by the given number' do
         
     | 
| 
       17 
17 
     | 
    
         
             
                subject.set('counter', '10')
         
     | 
| 
       18 
18 
     | 
    
         
             
                subject.decrby('counter', '5')
         
     | 
| 
       19 
19 
     | 
    
         | 
| 
       20 
     | 
    
         
            -
                subject.get('counter'). 
     | 
| 
      
 20 
     | 
    
         
            +
                expect(subject.get('counter')).to eq('5')
         
     | 
| 
       21 
21 
     | 
    
         
             
              end
         
     | 
| 
       22 
22 
     | 
    
         | 
| 
       23 
23 
     | 
    
         
             
              it 'should get the value of a key' do
         
     | 
| 
       24 
     | 
    
         
            -
                subject.get('key2'). 
     | 
| 
      
 24 
     | 
    
         
            +
                expect(subject.get('key2')).to be_nil
         
     | 
| 
       25 
25 
     | 
    
         
             
              end
         
     | 
| 
       26 
26 
     | 
    
         | 
| 
       27 
27 
     | 
    
         
             
              it 'should returns the bit value at offset in the string value stored at key' do
         
     | 
| 
       28 
28 
     | 
    
         
             
                subject.set('key1', 'a')
         
     | 
| 
       29 
29 
     | 
    
         | 
| 
       30 
     | 
    
         
            -
                subject.getbit('key1', 1). 
     | 
| 
       31 
     | 
    
         
            -
                subject.getbit('key1', 2). 
     | 
| 
       32 
     | 
    
         
            -
                subject.getbit('key1', 3). 
     | 
| 
       33 
     | 
    
         
            -
                subject.getbit('key1', 4). 
     | 
| 
       34 
     | 
    
         
            -
                subject.getbit('key1', 5). 
     | 
| 
       35 
     | 
    
         
            -
                subject.getbit('key1', 6). 
     | 
| 
       36 
     | 
    
         
            -
                subject.getbit('key1', 7). 
     | 
| 
      
 30 
     | 
    
         
            +
                expect(subject.getbit('key1', 1)).to eq(1)
         
     | 
| 
      
 31 
     | 
    
         
            +
                expect(subject.getbit('key1', 2)).to eq(1)
         
     | 
| 
      
 32 
     | 
    
         
            +
                expect(subject.getbit('key1', 3)).to eq(0)
         
     | 
| 
      
 33 
     | 
    
         
            +
                expect(subject.getbit('key1', 4)).to eq(0)
         
     | 
| 
      
 34 
     | 
    
         
            +
                expect(subject.getbit('key1', 5)).to eq(0)
         
     | 
| 
      
 35 
     | 
    
         
            +
                expect(subject.getbit('key1', 6)).to eq(0)
         
     | 
| 
      
 36 
     | 
    
         
            +
                expect(subject.getbit('key1', 7)).to eq(1)
         
     | 
| 
       37 
37 
     | 
    
         
             
              end
         
     | 
| 
       38 
38 
     | 
    
         | 
| 
       39 
39 
     | 
    
         
             
              it 'should allow direct bit manipulation even if the string is not set' do
         
     | 
| 
       40 
40 
     | 
    
         
             
                subject.setbit('key1', 10, 1)
         
     | 
| 
       41 
     | 
    
         
            -
                subject.getbit('key1', 10). 
     | 
| 
      
 41 
     | 
    
         
            +
                expect(subject.getbit('key1', 10)).to eq(1)
         
     | 
| 
       42 
42 
     | 
    
         
             
              end
         
     | 
| 
       43 
43 
     | 
    
         | 
| 
       44 
44 
     | 
    
         
             
              context 'when a bit is previously set to 0' do
         
     | 
| 
         @@ -47,11 +47,11 @@ shared_examples 'strings' do 
     | 
|
| 
       47 
47 
     | 
    
         
             
                end
         
     | 
| 
       48 
48 
     | 
    
         | 
| 
       49 
49 
     | 
    
         
             
                it 'setting it to 1 returns 0' do
         
     | 
| 
       50 
     | 
    
         
            -
                  subject.setbit('key1', 10, 1). 
     | 
| 
      
 50 
     | 
    
         
            +
                  expect(subject.setbit('key1', 10, 1)).to eq(0)
         
     | 
| 
       51 
51 
     | 
    
         
             
                end
         
     | 
| 
       52 
52 
     | 
    
         | 
| 
       53 
53 
     | 
    
         
             
                it 'setting it to 0 returns 0' do
         
     | 
| 
       54 
     | 
    
         
            -
                  subject.setbit('key1', 10, 0). 
     | 
| 
      
 54 
     | 
    
         
            +
                  expect(subject.setbit('key1', 10, 0)).to eq(0)
         
     | 
| 
       55 
55 
     | 
    
         
             
                end
         
     | 
| 
       56 
56 
     | 
    
         
             
              end
         
     | 
| 
       57 
57 
     | 
    
         | 
| 
         @@ -61,95 +61,95 @@ shared_examples 'strings' do 
     | 
|
| 
       61 
61 
     | 
    
         
             
                end
         
     | 
| 
       62 
62 
     | 
    
         | 
| 
       63 
63 
     | 
    
         
             
                it 'setting it to 0 returns 1' do
         
     | 
| 
       64 
     | 
    
         
            -
                  subject.setbit('key1', 10, 0). 
     | 
| 
      
 64 
     | 
    
         
            +
                  expect(subject.setbit('key1', 10, 0)).to eq(1)
         
     | 
| 
       65 
65 
     | 
    
         
             
                end
         
     | 
| 
       66 
66 
     | 
    
         | 
| 
       67 
67 
     | 
    
         
             
                it 'setting it to 1 returns 1' do
         
     | 
| 
       68 
     | 
    
         
            -
                  subject.setbit('key1', 10, 1). 
     | 
| 
      
 68 
     | 
    
         
            +
                  expect(subject.setbit('key1', 10, 1)).to eq(1)
         
     | 
| 
       69 
69 
     | 
    
         
             
                end
         
     | 
| 
       70 
70 
     | 
    
         
             
              end
         
     | 
| 
       71 
71 
     | 
    
         | 
| 
       72 
72 
     | 
    
         
             
              it 'should get a substring of the string stored at a key' do
         
     | 
| 
       73 
73 
     | 
    
         
             
                subject.set('key1', 'This a message')
         
     | 
| 
       74 
74 
     | 
    
         | 
| 
       75 
     | 
    
         
            -
                subject.getrange('key1', 0, 3). 
     | 
| 
       76 
     | 
    
         
            -
                subject.substr('key1', 0, 3). 
     | 
| 
      
 75 
     | 
    
         
            +
                expect(subject.getrange('key1', 0, 3)).to eq('This')
         
     | 
| 
      
 76 
     | 
    
         
            +
                expect(subject.substr('key1', 0, 3)).to eq('This')
         
     | 
| 
       77 
77 
     | 
    
         
             
              end
         
     | 
| 
       78 
78 
     | 
    
         | 
| 
       79 
79 
     | 
    
         
             
              it 'should set the string value of a key and return its old value' do
         
     | 
| 
       80 
80 
     | 
    
         
             
                subject.set('key1','value1')
         
     | 
| 
       81 
81 
     | 
    
         | 
| 
       82 
     | 
    
         
            -
                subject.getset('key1', 'value2'). 
     | 
| 
       83 
     | 
    
         
            -
                subject.get('key1'). 
     | 
| 
      
 82 
     | 
    
         
            +
                expect(subject.getset('key1', 'value2')).to eq('value1')
         
     | 
| 
      
 83 
     | 
    
         
            +
                expect(subject.get('key1')).to eq('value2')
         
     | 
| 
       84 
84 
     | 
    
         
             
              end
         
     | 
| 
       85 
85 
     | 
    
         | 
| 
       86 
86 
     | 
    
         
             
              it 'should return nil for #getset if the key does not exist when setting' do
         
     | 
| 
       87 
     | 
    
         
            -
                subject.getset('key1', 'value1'). 
     | 
| 
       88 
     | 
    
         
            -
                subject.get('key1'). 
     | 
| 
      
 87 
     | 
    
         
            +
                expect(subject.getset('key1', 'value1')).to be_nil
         
     | 
| 
      
 88 
     | 
    
         
            +
                expect(subject.get('key1')).to eq('value1')
         
     | 
| 
       89 
89 
     | 
    
         
             
              end
         
     | 
| 
       90 
90 
     | 
    
         | 
| 
       91 
91 
     | 
    
         
             
              it 'should increment the integer value of a key by one' do
         
     | 
| 
       92 
92 
     | 
    
         
             
                subject.set('counter', '1')
         
     | 
| 
       93 
     | 
    
         
            -
                subject.incr('counter'). 
     | 
| 
      
 93 
     | 
    
         
            +
                expect(subject.incr('counter')).to eq(2)
         
     | 
| 
       94 
94 
     | 
    
         | 
| 
       95 
     | 
    
         
            -
                subject.get('counter'). 
     | 
| 
      
 95 
     | 
    
         
            +
                expect(subject.get('counter')).to eq('2')
         
     | 
| 
       96 
96 
     | 
    
         
             
              end
         
     | 
| 
       97 
97 
     | 
    
         | 
| 
       98 
98 
     | 
    
         
             
              it 'should not change the expire value of the key during incr' do
         
     | 
| 
       99 
99 
     | 
    
         
             
                subject.set('counter', '1')
         
     | 
| 
       100 
     | 
    
         
            -
                subject.expire('counter', 600). 
     | 
| 
      
 100 
     | 
    
         
            +
                expect(subject.expire('counter', 600)).to be_truthy
         
     | 
| 
       101 
101 
     | 
    
         | 
| 
       102 
     | 
    
         
            -
                subject.ttl('counter'). 
     | 
| 
       103 
     | 
    
         
            -
                subject.incr('counter'). 
     | 
| 
       104 
     | 
    
         
            -
                subject.ttl('counter'). 
     | 
| 
      
 102 
     | 
    
         
            +
                expect(subject.ttl('counter')).to eq(600)
         
     | 
| 
      
 103 
     | 
    
         
            +
                expect(subject.incr('counter')).to eq(2)
         
     | 
| 
      
 104 
     | 
    
         
            +
                expect(subject.ttl('counter')).to be_within(10).of(600)
         
     | 
| 
       105 
105 
     | 
    
         
             
              end
         
     | 
| 
       106 
106 
     | 
    
         | 
| 
       107 
107 
     | 
    
         
             
              it 'should decrement the integer value of a key by one' do
         
     | 
| 
       108 
108 
     | 
    
         
             
                subject.set('counter', '1')
         
     | 
| 
       109 
     | 
    
         
            -
                subject.decr('counter'). 
     | 
| 
      
 109 
     | 
    
         
            +
                expect(subject.decr('counter')).to eq(0)
         
     | 
| 
       110 
110 
     | 
    
         | 
| 
       111 
     | 
    
         
            -
                subject.get('counter'). 
     | 
| 
      
 111 
     | 
    
         
            +
                expect(subject.get('counter')).to eq('0')
         
     | 
| 
       112 
112 
     | 
    
         
             
              end
         
     | 
| 
       113 
113 
     | 
    
         | 
| 
       114 
114 
     | 
    
         
             
              it 'should not change the expire value of the key during decr' do
         
     | 
| 
       115 
115 
     | 
    
         
             
                subject.set('counter', '2')
         
     | 
| 
       116 
     | 
    
         
            -
                subject.expire('counter', 600). 
     | 
| 
      
 116 
     | 
    
         
            +
                expect(subject.expire('counter', 600)).to be_truthy
         
     | 
| 
       117 
117 
     | 
    
         | 
| 
       118 
     | 
    
         
            -
                subject.ttl('counter'). 
     | 
| 
       119 
     | 
    
         
            -
                subject.decr('counter'). 
     | 
| 
       120 
     | 
    
         
            -
                subject.ttl('counter'). 
     | 
| 
      
 118 
     | 
    
         
            +
                expect(subject.ttl('counter')).to eq(600)
         
     | 
| 
      
 119 
     | 
    
         
            +
                expect(subject.decr('counter')).to eq(1)
         
     | 
| 
      
 120 
     | 
    
         
            +
                expect(subject.ttl('counter')).to be_within(10).of(600)
         
     | 
| 
       121 
121 
     | 
    
         
             
              end
         
     | 
| 
       122 
122 
     | 
    
         | 
| 
       123 
123 
     | 
    
         
             
              it 'should increment the integer value of a key by the given number' do
         
     | 
| 
       124 
124 
     | 
    
         
             
                subject.set('counter', '10')
         
     | 
| 
       125 
     | 
    
         
            -
                subject.incrby('counter', '5'). 
     | 
| 
       126 
     | 
    
         
            -
                subject.incrby('counter', 2). 
     | 
| 
       127 
     | 
    
         
            -
                subject.get('counter'). 
     | 
| 
      
 125 
     | 
    
         
            +
                expect(subject.incrby('counter', '5')).to eq(15)
         
     | 
| 
      
 126 
     | 
    
         
            +
                expect(subject.incrby('counter', 2)).to eq(17)
         
     | 
| 
      
 127 
     | 
    
         
            +
                expect(subject.get('counter')).to eq('17')
         
     | 
| 
       128 
128 
     | 
    
         
             
              end
         
     | 
| 
       129 
129 
     | 
    
         | 
| 
       130 
130 
     | 
    
         
             
              it 'should not change the expire value of the key during incrby' do
         
     | 
| 
       131 
131 
     | 
    
         
             
                subject.set('counter', '1')
         
     | 
| 
       132 
     | 
    
         
            -
                subject.expire('counter', 600). 
     | 
| 
      
 132 
     | 
    
         
            +
                expect(subject.expire('counter', 600)).to be_truthy
         
     | 
| 
       133 
133 
     | 
    
         | 
| 
       134 
     | 
    
         
            -
                subject.ttl('counter'). 
     | 
| 
       135 
     | 
    
         
            -
                subject.incrby('counter', '5'). 
     | 
| 
       136 
     | 
    
         
            -
                subject.ttl('counter'). 
     | 
| 
      
 134 
     | 
    
         
            +
                expect(subject.ttl('counter')).to eq(600)
         
     | 
| 
      
 135 
     | 
    
         
            +
                expect(subject.incrby('counter', '5')).to eq(6)
         
     | 
| 
      
 136 
     | 
    
         
            +
                expect(subject.ttl('counter')).to be_within(10).of(600)
         
     | 
| 
       137 
137 
     | 
    
         
             
              end
         
     | 
| 
       138 
138 
     | 
    
         | 
| 
       139 
139 
     | 
    
         
             
              it 'should decrement the integer value of a key by the given number' do
         
     | 
| 
       140 
140 
     | 
    
         
             
                subject.set('counter', '10')
         
     | 
| 
       141 
     | 
    
         
            -
                subject.decrby('counter', '5'). 
     | 
| 
       142 
     | 
    
         
            -
                subject.decrby('counter', 2). 
     | 
| 
       143 
     | 
    
         
            -
                subject.get('counter'). 
     | 
| 
      
 141 
     | 
    
         
            +
                expect(subject.decrby('counter', '5')).to eq(5)
         
     | 
| 
      
 142 
     | 
    
         
            +
                expect(subject.decrby('counter', 2)).to eq(3)
         
     | 
| 
      
 143 
     | 
    
         
            +
                expect(subject.get('counter')).to eq('3')
         
     | 
| 
       144 
144 
     | 
    
         
             
              end
         
     | 
| 
       145 
145 
     | 
    
         | 
| 
       146 
146 
     | 
    
         
             
              it 'should not change the expire value of the key during decrby' do
         
     | 
| 
       147 
147 
     | 
    
         
             
                subject.set('counter', '8')
         
     | 
| 
       148 
     | 
    
         
            -
                subject.expire('counter', 600). 
     | 
| 
      
 148 
     | 
    
         
            +
                expect(subject.expire('counter', 600)).to be_truthy
         
     | 
| 
       149 
149 
     | 
    
         | 
| 
       150 
     | 
    
         
            -
                subject.ttl('counter'). 
     | 
| 
       151 
     | 
    
         
            -
                subject.decrby('counter', '3'). 
     | 
| 
       152 
     | 
    
         
            -
                subject.ttl('counter'). 
     | 
| 
      
 150 
     | 
    
         
            +
                expect(subject.ttl('counter')).to eq(600)
         
     | 
| 
      
 151 
     | 
    
         
            +
                expect(subject.decrby('counter', '3')).to eq(5)
         
     | 
| 
      
 152 
     | 
    
         
            +
                expect(subject.ttl('counter')).to be_within(10).of(600)
         
     | 
| 
       153 
153 
     | 
    
         
             
              end
         
     | 
| 
       154 
154 
     | 
    
         | 
| 
       155 
155 
     | 
    
         
             
              it 'should get the values of all the given keys' do
         
     | 
| 
         @@ -157,16 +157,16 @@ shared_examples 'strings' do 
     | 
|
| 
       157 
157 
     | 
    
         
             
                subject.set('key2', 'value2')
         
     | 
| 
       158 
158 
     | 
    
         
             
                subject.set('key3', 'value3')
         
     | 
| 
       159 
159 
     | 
    
         | 
| 
       160 
     | 
    
         
            -
                subject.mget('key1', 'key2', 'key3'). 
     | 
| 
       161 
     | 
    
         
            -
                subject.mget(['key1', 'key2', 'key3']). 
     | 
| 
      
 160 
     | 
    
         
            +
                expect(subject.mget('key1', 'key2', 'key3')).to eq(['value1', 'value2', 'value3'])
         
     | 
| 
      
 161 
     | 
    
         
            +
                expect(subject.mget(['key1', 'key2', 'key3'])).to eq(['value1', 'value2', 'value3'])
         
     | 
| 
       162 
162 
     | 
    
         
             
              end
         
     | 
| 
       163 
163 
     | 
    
         | 
| 
       164 
164 
     | 
    
         
             
              it 'returns nil for non existent keys' do
         
     | 
| 
       165 
165 
     | 
    
         
             
                subject.set('key1', 'value1')
         
     | 
| 
       166 
166 
     | 
    
         
             
                subject.set('key3', 'value3')
         
     | 
| 
       167 
167 
     | 
    
         | 
| 
       168 
     | 
    
         
            -
                subject.mget('key1', 'key2', 'key3', 'key4'). 
     | 
| 
       169 
     | 
    
         
            -
                subject.mget(['key1', 'key2', 'key3', 'key4']). 
     | 
| 
      
 168 
     | 
    
         
            +
                expect(subject.mget('key1', 'key2', 'key3', 'key4')).to eq(['value1', nil, 'value3', nil])
         
     | 
| 
      
 169 
     | 
    
         
            +
                expect(subject.mget(['key1', 'key2', 'key3', 'key4'])).to eq(['value1', nil, 'value3', nil])
         
     | 
| 
       170 
170 
     | 
    
         
             
              end
         
     | 
| 
       171 
171 
     | 
    
         | 
| 
       172 
172 
     | 
    
         
             
              it 'raises an argument error when not passed any fields' do
         
     | 
| 
         @@ -180,8 +180,8 @@ shared_examples 'strings' do 
     | 
|
| 
       180 
180 
     | 
    
         
             
              it 'should set multiple keys to multiple values' do
         
     | 
| 
       181 
181 
     | 
    
         
             
                subject.mset(:key1, 'value1', :key2, 'value2')
         
     | 
| 
       182 
182 
     | 
    
         | 
| 
       183 
     | 
    
         
            -
                subject.get('key1'). 
     | 
| 
       184 
     | 
    
         
            -
                subject.get('key2'). 
     | 
| 
      
 183 
     | 
    
         
            +
                expect(subject.get('key1')).to eq('value1')
         
     | 
| 
      
 184 
     | 
    
         
            +
                expect(subject.get('key2')).to eq('value2')
         
     | 
| 
       185 
185 
     | 
    
         
             
              end
         
     | 
| 
       186 
186 
     | 
    
         | 
| 
       187 
187 
     | 
    
         
             
              it 'should raise error if command arguments count is wrong' do
         
     | 
| 
         @@ -197,51 +197,51 @@ shared_examples 'strings' do 
     | 
|
| 
       197 
197 
     | 
    
         
             
                  subject.mset(:key1, 'value', :key2)
         
     | 
| 
       198 
198 
     | 
    
         
             
                }.to raise_error(Redis::CommandError, 'ERR wrong number of arguments for MSET')
         
     | 
| 
       199 
199 
     | 
    
         | 
| 
       200 
     | 
    
         
            -
                subject.get('key1'). 
     | 
| 
       201 
     | 
    
         
            -
                subject.get('key2'). 
     | 
| 
      
 200 
     | 
    
         
            +
                expect(subject.get('key1')).to be_nil
         
     | 
| 
      
 201 
     | 
    
         
            +
                expect(subject.get('key2')).to be_nil
         
     | 
| 
       202 
202 
     | 
    
         
             
              end
         
     | 
| 
       203 
203 
     | 
    
         | 
| 
       204 
204 
     | 
    
         
             
              it 'should set multiple keys to multiple values, only if none of the keys exist' do
         
     | 
| 
       205 
     | 
    
         
            -
                subject.msetnx(:key1, 'value1', :key2, 'value2'). 
     | 
| 
       206 
     | 
    
         
            -
                subject.msetnx(:key1, 'value3', :key2, 'value4'). 
     | 
| 
      
 205 
     | 
    
         
            +
                expect(subject.msetnx(:key1, 'value1', :key2, 'value2')).to be_truthy
         
     | 
| 
      
 206 
     | 
    
         
            +
                expect(subject.msetnx(:key1, 'value3', :key2, 'value4')).to be_falsey
         
     | 
| 
       207 
207 
     | 
    
         | 
| 
       208 
     | 
    
         
            -
                subject.get('key1'). 
     | 
| 
       209 
     | 
    
         
            -
                subject.get('key2'). 
     | 
| 
      
 208 
     | 
    
         
            +
                expect(subject.get('key1')).to eq('value1')
         
     | 
| 
      
 209 
     | 
    
         
            +
                expect(subject.get('key2')).to eq('value2')
         
     | 
| 
       210 
210 
     | 
    
         
             
              end
         
     | 
| 
       211 
211 
     | 
    
         | 
| 
       212 
212 
     | 
    
         
             
              it 'should set multiple keys to multiple values with a hash' do
         
     | 
| 
       213 
213 
     | 
    
         
             
                subject.mapped_mset(key1: 'value1', key2: 'value2')
         
     | 
| 
       214 
214 
     | 
    
         | 
| 
       215 
     | 
    
         
            -
                subject.get('key1'). 
     | 
| 
       216 
     | 
    
         
            -
                subject.get('key2'). 
     | 
| 
      
 215 
     | 
    
         
            +
                expect(subject.get('key1')).to eq('value1')
         
     | 
| 
      
 216 
     | 
    
         
            +
                expect(subject.get('key2')).to eq('value2')
         
     | 
| 
       217 
217 
     | 
    
         
             
              end
         
     | 
| 
       218 
218 
     | 
    
         | 
| 
       219 
219 
     | 
    
         
             
              it 'should set multiple keys to multiple values with a hash, only if none of the keys exist' do
         
     | 
| 
       220 
     | 
    
         
            -
                subject.mapped_msetnx(key1: 'value1', key2: 'value2'). 
     | 
| 
       221 
     | 
    
         
            -
                subject.mapped_msetnx(key1: 'value3', key2: 'value4'). 
     | 
| 
      
 220 
     | 
    
         
            +
                expect(subject.mapped_msetnx(key1: 'value1', key2: 'value2')).to be_truthy
         
     | 
| 
      
 221 
     | 
    
         
            +
                expect(subject.mapped_msetnx(key1: 'value3', key2: 'value4')).to be_falsey
         
     | 
| 
       222 
222 
     | 
    
         | 
| 
       223 
     | 
    
         
            -
                subject.get('key1'). 
     | 
| 
       224 
     | 
    
         
            -
                subject.get('key2'). 
     | 
| 
      
 223 
     | 
    
         
            +
                expect(subject.get('key1')).to eq('value1')
         
     | 
| 
      
 224 
     | 
    
         
            +
                expect(subject.get('key2')).to eq('value2')
         
     | 
| 
       225 
225 
     | 
    
         
             
              end
         
     | 
| 
       226 
226 
     | 
    
         | 
| 
       227 
227 
     | 
    
         
             
              it 'should set the string value of a key' do
         
     | 
| 
       228 
228 
     | 
    
         
             
                subject.set('key1', '1')
         
     | 
| 
       229 
229 
     | 
    
         | 
| 
       230 
     | 
    
         
            -
                subject.get('key1'). 
     | 
| 
      
 230 
     | 
    
         
            +
                expect(subject.get('key1')).to eq('1')
         
     | 
| 
       231 
231 
     | 
    
         
             
              end
         
     | 
| 
       232 
232 
     | 
    
         | 
| 
       233 
233 
     | 
    
         
             
              it 'should sets or clears the bit at offset in the string value stored at key' do
         
     | 
| 
       234 
234 
     | 
    
         
             
                subject.set('key1', 'abc')
         
     | 
| 
       235 
235 
     | 
    
         
             
                subject.setbit('key1', 11, 1)
         
     | 
| 
       236 
236 
     | 
    
         | 
| 
       237 
     | 
    
         
            -
                subject.get('key1'). 
     | 
| 
      
 237 
     | 
    
         
            +
                expect(subject.get('key1')).to eq('arc')
         
     | 
| 
       238 
238 
     | 
    
         
             
              end
         
     | 
| 
       239 
239 
     | 
    
         | 
| 
       240 
240 
     | 
    
         
             
              it 'should set the value and expiration of a key' do
         
     | 
| 
       241 
241 
     | 
    
         
             
                subject.setex('key1', 30, 'value1')
         
     | 
| 
       242 
242 
     | 
    
         | 
| 
       243 
     | 
    
         
            -
                subject.get('key1'). 
     | 
| 
       244 
     | 
    
         
            -
                subject.ttl('key1'). 
     | 
| 
      
 243 
     | 
    
         
            +
                expect(subject.get('key1')).to eq('value1')
         
     | 
| 
      
 244 
     | 
    
         
            +
                expect(subject.ttl('key1')).to eq(30)
         
     | 
| 
       245 
245 
     | 
    
         
             
              end
         
     | 
| 
       246 
246 
     | 
    
         | 
| 
       247 
247 
     | 
    
         
             
              it 'should set the value of a key, only if the key does not exist' do
         
     | 
| 
         @@ -249,20 +249,20 @@ shared_examples 'strings' do 
     | 
|
| 
       249 
249 
     | 
    
         
             
                subject.setnx('key1', 'new value')
         
     | 
| 
       250 
250 
     | 
    
         
             
                subject.setnx('key2', 'another value')
         
     | 
| 
       251 
251 
     | 
    
         | 
| 
       252 
     | 
    
         
            -
                subject.get('key1'). 
     | 
| 
       253 
     | 
    
         
            -
                subject.get('key2'). 
     | 
| 
      
 252 
     | 
    
         
            +
                expect(subject.get('key1')).to eq('test value')
         
     | 
| 
      
 253 
     | 
    
         
            +
                expect(subject.get('key2')).to eq('another value')
         
     | 
| 
       254 
254 
     | 
    
         
             
              end
         
     | 
| 
       255 
255 
     | 
    
         | 
| 
       256 
256 
     | 
    
         
             
              it 'should overwrite part of a string at key starting at the specified offset' do
         
     | 
| 
       257 
257 
     | 
    
         
             
                subject.set('key1', 'Hello World')
         
     | 
| 
       258 
258 
     | 
    
         
             
                subject.setrange('key1', 6, 'Redis')
         
     | 
| 
       259 
259 
     | 
    
         | 
| 
       260 
     | 
    
         
            -
                subject.get('key1'). 
     | 
| 
      
 260 
     | 
    
         
            +
                expect(subject.get('key1')).to eq('Hello Redis')
         
     | 
| 
       261 
261 
     | 
    
         
             
              end
         
     | 
| 
       262 
262 
     | 
    
         | 
| 
       263 
263 
     | 
    
         
             
              it 'should get the length of the value stored in a key' do
         
     | 
| 
       264 
264 
     | 
    
         
             
                subject.set('key1', 'abc')
         
     | 
| 
       265 
265 
     | 
    
         | 
| 
       266 
     | 
    
         
            -
                subject.strlen('key1'). 
     | 
| 
      
 266 
     | 
    
         
            +
                expect(subject.strlen('key1')).to eq(3)
         
     | 
| 
       267 
267 
     | 
    
         
             
              end
         
     | 
| 
       268 
268 
     | 
    
         
             
            end
         
     | 
| 
         @@ -1,19 +1,72 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            shared_examples 'transactions' do
         
     | 
| 
       2 
     | 
    
         
            -
               
     | 
| 
       3 
     | 
    
         
            -
                 
     | 
| 
       4 
     | 
    
         
            -
                  subject. 
     | 
| 
       5 
     | 
    
         
            -
                  subject.set('key2', '2')
         
     | 
| 
       6 
     | 
    
         
            -
                  subject.mget('key1', 'key2')
         
     | 
| 
      
 2 
     | 
    
         
            +
              context '#multi' do
         
     | 
| 
      
 3 
     | 
    
         
            +
                it "should respond with 'OK'" do
         
     | 
| 
      
 4 
     | 
    
         
            +
                  expect(subject.multi).to eq('OK')
         
     | 
| 
       7 
5 
     | 
    
         
             
                end
         
     | 
| 
       8 
6 
     | 
    
         | 
| 
       9 
     | 
    
         
            -
                 
     | 
| 
      
 7 
     | 
    
         
            +
                it "should forbid nesting" do
         
     | 
| 
      
 8 
     | 
    
         
            +
                  subject.multi
         
     | 
| 
      
 9 
     | 
    
         
            +
                  expect{subject.multi}.to raise_error(Redis::CommandError)
         
     | 
| 
      
 10 
     | 
    
         
            +
                end
         
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
                it "should mark the start of a transaction block" do
         
     | 
| 
      
 13 
     | 
    
         
            +
                  transaction = subject.multi do |multi|
         
     | 
| 
      
 14 
     | 
    
         
            +
                    multi.set('key1', '1')
         
     | 
| 
      
 15 
     | 
    
         
            +
                    multi.set('key2', '2')
         
     | 
| 
      
 16 
     | 
    
         
            +
                    multi.mget('key1', 'key2')
         
     | 
| 
      
 17 
     | 
    
         
            +
                  end
         
     | 
| 
      
 18 
     | 
    
         
            +
             
     | 
| 
      
 19 
     | 
    
         
            +
                  expect(transaction).to eq(['OK', 'OK', ['1', '2']])
         
     | 
| 
      
 20 
     | 
    
         
            +
                end
         
     | 
| 
      
 21 
     | 
    
         
            +
              end
         
     | 
| 
      
 22 
     | 
    
         
            +
             
     | 
| 
      
 23 
     | 
    
         
            +
              context '#discard' do
         
     | 
| 
      
 24 
     | 
    
         
            +
                it "should responde with 'OK' after #multi" do
         
     | 
| 
      
 25 
     | 
    
         
            +
                  subject.multi
         
     | 
| 
      
 26 
     | 
    
         
            +
                  expect(subject.discard).to eq('OK')
         
     | 
| 
      
 27 
     | 
    
         
            +
                end
         
     | 
| 
      
 28 
     | 
    
         
            +
             
     | 
| 
      
 29 
     | 
    
         
            +
                it "can't be run outside of #multi/#exec" do
         
     | 
| 
      
 30 
     | 
    
         
            +
                  expect{subject.discard}.to raise_error(Redis::CommandError)
         
     | 
| 
      
 31 
     | 
    
         
            +
                end
         
     | 
| 
      
 32 
     | 
    
         
            +
              end
         
     | 
| 
      
 33 
     | 
    
         
            +
             
     | 
| 
      
 34 
     | 
    
         
            +
              context '#exec' do
         
     | 
| 
      
 35 
     | 
    
         
            +
                it "can't be run outside of #multi" do
         
     | 
| 
      
 36 
     | 
    
         
            +
                  expect{subject.exec}.to raise_error(Redis::CommandError)
         
     | 
| 
      
 37 
     | 
    
         
            +
                end
         
     | 
| 
       10 
38 
     | 
    
         
             
              end
         
     | 
| 
       11 
39 
     | 
    
         | 
| 
       12 
     | 
    
         
            -
               
     | 
| 
       13 
     | 
    
         
            -
                 
     | 
| 
       14 
     | 
    
         
            -
             
     | 
| 
       15 
     | 
    
         
            -
                 
     | 
| 
       16 
     | 
    
         
            -
             
     | 
| 
       17 
     | 
    
         
            -
                 
     | 
| 
      
 40 
     | 
    
         
            +
              context 'saving up commands for later' do
         
     | 
| 
      
 41 
     | 
    
         
            +
                before(:each) do
         
     | 
| 
      
 42 
     | 
    
         
            +
                  subject.multi
         
     | 
| 
      
 43 
     | 
    
         
            +
                end
         
     | 
| 
      
 44 
     | 
    
         
            +
             
     | 
| 
      
 45 
     | 
    
         
            +
                let(:string) { 'fake-redis-test:string' }
         
     | 
| 
      
 46 
     | 
    
         
            +
                let(:list) { 'fake-redis-test:list' }
         
     | 
| 
      
 47 
     | 
    
         
            +
             
     | 
| 
      
 48 
     | 
    
         
            +
                it "makes commands respond with 'QUEUED'" do
         
     | 
| 
      
 49 
     | 
    
         
            +
                  expect(subject.set(string, 'string')).to eq('QUEUED')
         
     | 
| 
      
 50 
     | 
    
         
            +
                  expect(subject.lpush(list, 'list')).to eq('QUEUED')
         
     | 
| 
      
 51 
     | 
    
         
            +
                end
         
     | 
| 
      
 52 
     | 
    
         
            +
             
     | 
| 
      
 53 
     | 
    
         
            +
                it "gives you the commands' responses when you call #exec" do
         
     | 
| 
      
 54 
     | 
    
         
            +
                  subject.set(string, 'string')
         
     | 
| 
      
 55 
     | 
    
         
            +
                  subject.lpush(list, 'list')
         
     | 
| 
      
 56 
     | 
    
         
            +
                  subject.lpush(list, 'list')
         
     | 
| 
      
 57 
     | 
    
         
            +
             
     | 
| 
      
 58 
     | 
    
         
            +
                  expect(subject.exec).to eq(['OK', 1, 2])
         
     | 
| 
      
 59 
     | 
    
         
            +
                end
         
     | 
| 
      
 60 
     | 
    
         
            +
             
     | 
| 
      
 61 
     | 
    
         
            +
                it "does not raise exceptions, but rather puts them in #exec's response" do
         
     | 
| 
      
 62 
     | 
    
         
            +
                  subject.set(string, 'string')
         
     | 
| 
      
 63 
     | 
    
         
            +
                  subject.lpush(string, 'oops!')
         
     | 
| 
      
 64 
     | 
    
         
            +
                  subject.lpush(list, 'list')
         
     | 
| 
      
 65 
     | 
    
         
            +
             
     | 
| 
      
 66 
     | 
    
         
            +
                  responses = subject.exec
         
     | 
| 
      
 67 
     | 
    
         
            +
                  expect(responses[0]).to eq('OK')
         
     | 
| 
      
 68 
     | 
    
         
            +
                  expect(responses[1]).to be_a(RuntimeError)
         
     | 
| 
      
 69 
     | 
    
         
            +
                  expect(responses[2]).to eq(1)
         
     | 
| 
      
 70 
     | 
    
         
            +
                end
         
     | 
| 
       18 
71 
     | 
    
         
             
              end
         
     | 
| 
       19 
72 
     | 
    
         
             
            end
         
     | 
| 
         @@ -1,9 +1,9 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            shared_examples 'upcase method names' do
         
     | 
| 
       2 
2 
     | 
    
         
             
              it '#ZCOUNT' do
         
     | 
| 
       3 
     | 
    
         
            -
                subject.ZCOUNT('key', 2, 3). 
     | 
| 
      
 3 
     | 
    
         
            +
                expect(subject.ZCOUNT('key', 2, 3)).to eq(subject.zcount('key', 2, 3))
         
     | 
| 
       4 
4 
     | 
    
         
             
              end
         
     | 
| 
       5 
5 
     | 
    
         | 
| 
       6 
6 
     | 
    
         
             
              it '#ZSCORE' do
         
     | 
| 
       7 
     | 
    
         
            -
                subject.ZSCORE('key', 2). 
     | 
| 
      
 7 
     | 
    
         
            +
                expect(subject.ZSCORE('key', 2)).to eq(subject.zscore('key', 2))
         
     | 
| 
       8 
8 
     | 
    
         
             
              end
         
     | 
| 
       9 
9 
     | 
    
         
             
            end
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,69 +1,69 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: rediska
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 0.0 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.1.0
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Leonid Beder
         
     | 
| 
       8 
8 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       9 
9 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
     | 
    
         
            -
            date: 2014- 
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2014-06-04 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies:
         
     | 
| 
       13 
13 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       14 
14 
     | 
    
         
             
              name: redis
         
     | 
| 
       15 
15 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
       16 
16 
     | 
    
         
             
                requirements:
         
     | 
| 
       17 
     | 
    
         
            -
                - - ~>
         
     | 
| 
      
 17 
     | 
    
         
            +
                - - "~>"
         
     | 
| 
       18 
18 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       19 
19 
     | 
    
         
             
                    version: 3.0.0
         
     | 
| 
       20 
20 
     | 
    
         
             
              type: :runtime
         
     | 
| 
       21 
21 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       22 
22 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       23 
23 
     | 
    
         
             
                requirements:
         
     | 
| 
       24 
     | 
    
         
            -
                - - ~>
         
     | 
| 
      
 24 
     | 
    
         
            +
                - - "~>"
         
     | 
| 
       25 
25 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       26 
26 
     | 
    
         
             
                    version: 3.0.0
         
     | 
| 
       27 
27 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       28 
28 
     | 
    
         
             
              name: rspec
         
     | 
| 
       29 
29 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
       30 
30 
     | 
    
         
             
                requirements:
         
     | 
| 
       31 
     | 
    
         
            -
                - -  
     | 
| 
      
 31 
     | 
    
         
            +
                - - ">="
         
     | 
| 
       32 
32 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       33 
     | 
    
         
            -
                    version: ' 
     | 
| 
      
 33 
     | 
    
         
            +
                    version: '0'
         
     | 
| 
       34 
34 
     | 
    
         
             
              type: :development
         
     | 
| 
       35 
35 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       36 
36 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       37 
37 
     | 
    
         
             
                requirements:
         
     | 
| 
       38 
     | 
    
         
            -
                - -  
     | 
| 
      
 38 
     | 
    
         
            +
                - - ">="
         
     | 
| 
       39 
39 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       40 
     | 
    
         
            -
                    version: ' 
     | 
| 
      
 40 
     | 
    
         
            +
                    version: '0'
         
     | 
| 
       41 
41 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       42 
42 
     | 
    
         
             
              name: coveralls
         
     | 
| 
       43 
43 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
       44 
44 
     | 
    
         
             
                requirements:
         
     | 
| 
       45 
     | 
    
         
            -
                - -  
     | 
| 
      
 45 
     | 
    
         
            +
                - - ">="
         
     | 
| 
       46 
46 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       47 
47 
     | 
    
         
             
                    version: '0'
         
     | 
| 
       48 
48 
     | 
    
         
             
              type: :development
         
     | 
| 
       49 
49 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       50 
50 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       51 
51 
     | 
    
         
             
                requirements:
         
     | 
| 
       52 
     | 
    
         
            -
                - -  
     | 
| 
      
 52 
     | 
    
         
            +
                - - ">="
         
     | 
| 
       53 
53 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       54 
54 
     | 
    
         
             
                    version: '0'
         
     | 
| 
       55 
55 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       56 
56 
     | 
    
         
             
              name: rake
         
     | 
| 
       57 
57 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
       58 
58 
     | 
    
         
             
                requirements:
         
     | 
| 
       59 
     | 
    
         
            -
                - -  
     | 
| 
      
 59 
     | 
    
         
            +
                - - ">="
         
     | 
| 
       60 
60 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       61 
61 
     | 
    
         
             
                    version: '0'
         
     | 
| 
       62 
62 
     | 
    
         
             
              type: :development
         
     | 
| 
       63 
63 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       64 
64 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       65 
65 
     | 
    
         
             
                requirements:
         
     | 
| 
       66 
     | 
    
         
            -
                - -  
     | 
| 
      
 66 
     | 
    
         
            +
                - - ">="
         
     | 
| 
       67 
67 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       68 
68 
     | 
    
         
             
                    version: '0'
         
     | 
| 
       69 
69 
     | 
    
         
             
            description: |-
         
     | 
| 
         @@ -75,23 +75,26 @@ executables: [] 
     | 
|
| 
       75 
75 
     | 
    
         
             
            extensions: []
         
     | 
| 
       76 
76 
     | 
    
         
             
            extra_rdoc_files: []
         
     | 
| 
       77 
77 
     | 
    
         
             
            files:
         
     | 
| 
       78 
     | 
    
         
            -
            - .gitignore
         
     | 
| 
       79 
     | 
    
         
            -
            - .rspec
         
     | 
| 
       80 
     | 
    
         
            -
            - .travis.yml
         
     | 
| 
      
 78 
     | 
    
         
            +
            - ".gitignore"
         
     | 
| 
      
 79 
     | 
    
         
            +
            - ".rspec"
         
     | 
| 
      
 80 
     | 
    
         
            +
            - ".travis.yml"
         
     | 
| 
       81 
81 
     | 
    
         
             
            - Gemfile
         
     | 
| 
       82 
82 
     | 
    
         
             
            - Gemfile.lock
         
     | 
| 
       83 
83 
     | 
    
         
             
            - LICENSE
         
     | 
| 
       84 
84 
     | 
    
         
             
            - README.md
         
     | 
| 
       85 
85 
     | 
    
         
             
            - Rakefile
         
     | 
| 
       86 
86 
     | 
    
         
             
            - lib/rediska.rb
         
     | 
| 
      
 87 
     | 
    
         
            +
            - lib/rediska/command_executor.rb
         
     | 
| 
       87 
88 
     | 
    
         
             
            - lib/rediska/configuration.rb
         
     | 
| 
       88 
89 
     | 
    
         
             
            - lib/rediska/connection.rb
         
     | 
| 
       89 
90 
     | 
    
         
             
            - lib/rediska/databases/expiring.rb
         
     | 
| 
       90 
91 
     | 
    
         
             
            - lib/rediska/databases/memory.rb
         
     | 
| 
       91 
92 
     | 
    
         
             
            - lib/rediska/databases/pstore.rb
         
     | 
| 
       92 
93 
     | 
    
         
             
            - lib/rediska/driver.rb
         
     | 
| 
      
 94 
     | 
    
         
            +
            - lib/rediska/sort_method.rb
         
     | 
| 
       93 
95 
     | 
    
         
             
            - lib/rediska/sorted_set_argument_handler.rb
         
     | 
| 
       94 
96 
     | 
    
         
             
            - lib/rediska/sorted_set_store.rb
         
     | 
| 
      
 97 
     | 
    
         
            +
            - lib/rediska/transaction_commands.rb
         
     | 
| 
       95 
98 
     | 
    
         
             
            - lib/rediska/version.rb
         
     | 
| 
       96 
99 
     | 
    
         
             
            - lib/rediska/zset.rb
         
     | 
| 
       97 
100 
     | 
    
         
             
            - rediska.gemspec
         
     | 
| 
         @@ -105,6 +108,7 @@ files: 
     | 
|
| 
       105 
108 
     | 
    
         
             
            - spec/support/lists.rb
         
     | 
| 
       106 
109 
     | 
    
         
             
            - spec/support/server.rb
         
     | 
| 
       107 
110 
     | 
    
         
             
            - spec/support/sets.rb
         
     | 
| 
      
 111 
     | 
    
         
            +
            - spec/support/sorted_method.rb
         
     | 
| 
       108 
112 
     | 
    
         
             
            - spec/support/sorted_sets.rb
         
     | 
| 
       109 
113 
     | 
    
         
             
            - spec/support/strings.rb
         
     | 
| 
       110 
114 
     | 
    
         
             
            - spec/support/transactions.rb
         
     | 
| 
         @@ -119,12 +123,12 @@ require_paths: 
     | 
|
| 
       119 
123 
     | 
    
         
             
            - lib
         
     | 
| 
       120 
124 
     | 
    
         
             
            required_ruby_version: !ruby/object:Gem::Requirement
         
     | 
| 
       121 
125 
     | 
    
         
             
              requirements:
         
     | 
| 
       122 
     | 
    
         
            -
              - -  
     | 
| 
      
 126 
     | 
    
         
            +
              - - ">="
         
     | 
| 
       123 
127 
     | 
    
         
             
                - !ruby/object:Gem::Version
         
     | 
| 
       124 
128 
     | 
    
         
             
                  version: '0'
         
     | 
| 
       125 
129 
     | 
    
         
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         
     | 
| 
       126 
130 
     | 
    
         
             
              requirements:
         
     | 
| 
       127 
     | 
    
         
            -
              - -  
     | 
| 
      
 131 
     | 
    
         
            +
              - - ">="
         
     | 
| 
       128 
132 
     | 
    
         
             
                - !ruby/object:Gem::Version
         
     | 
| 
       129 
133 
     | 
    
         
             
                  version: '0'
         
     | 
| 
       130 
134 
     | 
    
         
             
            requirements: []
         
     | 
| 
         @@ -144,6 +148,7 @@ test_files: 
     | 
|
| 
       144 
148 
     | 
    
         
             
            - spec/support/lists.rb
         
     | 
| 
       145 
149 
     | 
    
         
             
            - spec/support/server.rb
         
     | 
| 
       146 
150 
     | 
    
         
             
            - spec/support/sets.rb
         
     | 
| 
      
 151 
     | 
    
         
            +
            - spec/support/sorted_method.rb
         
     | 
| 
       147 
152 
     | 
    
         
             
            - spec/support/sorted_sets.rb
         
     | 
| 
       148 
153 
     | 
    
         
             
            - spec/support/strings.rb
         
     | 
| 
       149 
154 
     | 
    
         
             
            - spec/support/transactions.rb
         
     |