rediska 0.1.10 → 0.1.11
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/.travis.yml +1 -1
- data/Gemfile.lock +19 -17
- data/lib/rediska/driver.rb +16 -5
- data/lib/rediska/version.rb +1 -1
- data/spec/support/hashes.rb +11 -0
- data/spec/support/keys.rb +9 -0
- metadata +2 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 4d77d882d3c846316e1fe0cb5c1628184154c86a
         | 
| 4 | 
            +
              data.tar.gz: e5931f8cdcf8e39edd688a9a663df1cc7199585e
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: fddb731338fb80d8b722cddbc820b8fbe324207335a688fd3e7160701a2868c6b648a0f2097cba4a0864131a14f11fff3389656f12890d4b939c8d409748b7f8
         | 
| 7 | 
            +
              data.tar.gz: 9ce7639c68f40f0dc7a631c4380b598778b1c7afcc7e01c6aef6c943515ab45a34d20b373ba650dfcfdd39bd9054dbf6bbd72a1667246f0946554f579d87cca8
         | 
    
        data/.travis.yml
    CHANGED
    
    
    
        data/Gemfile.lock
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            PATH
         | 
| 2 2 | 
             
              remote: .
         | 
| 3 3 | 
             
              specs:
         | 
| 4 | 
            -
                rediska (0.1. | 
| 4 | 
            +
                rediska (0.1.11)
         | 
| 5 5 | 
             
                  redis (>= 3)
         | 
| 6 6 |  | 
| 7 7 | 
             
            GEM
         | 
| 8 8 | 
             
              remote: http://rubygems.org/
         | 
| 9 9 | 
             
              specs:
         | 
| 10 | 
            -
                celluloid (0. | 
| 11 | 
            -
                  timers (~>  | 
| 10 | 
            +
                celluloid (0.16.0)
         | 
| 11 | 
            +
                  timers (~> 4.0.0)
         | 
| 12 12 | 
             
                connection_pool (2.0.0)
         | 
| 13 13 | 
             
                coveralls (0.7.1)
         | 
| 14 14 | 
             
                  multi_json (~> 1.3)
         | 
| @@ -18,6 +18,7 @@ GEM | |
| 18 18 | 
             
                  thor
         | 
| 19 19 | 
             
                diff-lcs (1.2.5)
         | 
| 20 20 | 
             
                docile (1.1.5)
         | 
| 21 | 
            +
                hitimes (1.2.2)
         | 
| 21 22 | 
             
                json (1.8.1)
         | 
| 22 23 | 
             
                mime-types (2.3)
         | 
| 23 24 | 
             
                multi_json (1.10.1)
         | 
| @@ -31,19 +32,19 @@ GEM | |
| 31 32 | 
             
                rest-client (1.7.2)
         | 
| 32 33 | 
             
                  mime-types (>= 1.16, < 3.0)
         | 
| 33 34 | 
             
                  netrc (~> 0.7)
         | 
| 34 | 
            -
                rspec (3. | 
| 35 | 
            -
                  rspec-core (~> 3. | 
| 36 | 
            -
                  rspec-expectations (~> 3. | 
| 37 | 
            -
                  rspec-mocks (~> 3. | 
| 38 | 
            -
                rspec-core (3. | 
| 39 | 
            -
                  rspec-support (~> 3. | 
| 40 | 
            -
                rspec-expectations (3.0 | 
| 35 | 
            +
                rspec (3.1.0)
         | 
| 36 | 
            +
                  rspec-core (~> 3.1.0)
         | 
| 37 | 
            +
                  rspec-expectations (~> 3.1.0)
         | 
| 38 | 
            +
                  rspec-mocks (~> 3.1.0)
         | 
| 39 | 
            +
                rspec-core (3.1.1)
         | 
| 40 | 
            +
                  rspec-support (~> 3.1.0)
         | 
| 41 | 
            +
                rspec-expectations (3.1.0)
         | 
| 41 42 | 
             
                  diff-lcs (>= 1.2.0, < 2.0)
         | 
| 42 | 
            -
                  rspec-support (~> 3. | 
| 43 | 
            -
                rspec-mocks (3.0 | 
| 44 | 
            -
                  rspec-support (~> 3. | 
| 45 | 
            -
                rspec-support (3.0 | 
| 46 | 
            -
                sidekiq (3.2. | 
| 43 | 
            +
                  rspec-support (~> 3.1.0)
         | 
| 44 | 
            +
                rspec-mocks (3.1.0)
         | 
| 45 | 
            +
                  rspec-support (~> 3.1.0)
         | 
| 46 | 
            +
                rspec-support (3.1.0)
         | 
| 47 | 
            +
                sidekiq (3.2.4)
         | 
| 47 48 | 
             
                  celluloid (>= 0.15.2)
         | 
| 48 49 | 
             
                  connection_pool (>= 2.0.0)
         | 
| 49 50 | 
             
                  json
         | 
| @@ -57,8 +58,9 @@ GEM | |
| 57 58 | 
             
                term-ansicolor (1.3.0)
         | 
| 58 59 | 
             
                  tins (~> 1.0)
         | 
| 59 60 | 
             
                thor (0.19.1)
         | 
| 60 | 
            -
                timers ( | 
| 61 | 
            -
             | 
| 61 | 
            +
                timers (4.0.0)
         | 
| 62 | 
            +
                  hitimes
         | 
| 63 | 
            +
                tins (1.3.2)
         | 
| 62 64 |  | 
| 63 65 | 
             
            PLATFORMS
         | 
| 64 66 | 
             
              ruby
         | 
    
        data/lib/rediska/driver.rb
    CHANGED
    
    | @@ -142,11 +142,22 @@ module Rediska | |
| 142 142 | 
             
                end
         | 
| 143 143 |  | 
| 144 144 | 
             
                def hdel(key, field)
         | 
| 145 | 
            -
                  field = field.to_s
         | 
| 146 145 | 
             
                  data_type_check(key, Hash)
         | 
| 147 | 
            -
                   | 
| 146 | 
            +
                  return 0 unless data[key]
         | 
| 147 | 
            +
             | 
| 148 | 
            +
                  if field.is_a?(Array)
         | 
| 149 | 
            +
                    old_keys_count = data[key].size
         | 
| 150 | 
            +
                    fields = field.map(&:to_s)
         | 
| 151 | 
            +
             | 
| 152 | 
            +
                    data[key].delete_if { |k, v| fields.include? k }
         | 
| 153 | 
            +
                    deleted = old_keys_count - data[key].size
         | 
| 154 | 
            +
                  else
         | 
| 155 | 
            +
                    field = field.to_s
         | 
| 156 | 
            +
                    deleted = data[key].delete(field) ? 1 : 0
         | 
| 157 | 
            +
                  end
         | 
| 158 | 
            +
             | 
| 148 159 | 
             
                  remove_key_for_empty_collection(key)
         | 
| 149 | 
            -
                  deleted | 
| 160 | 
            +
                  deleted
         | 
| 150 161 | 
             
                end
         | 
| 151 162 |  | 
| 152 163 | 
             
                def hkeys(key)
         | 
| @@ -432,10 +443,10 @@ module Rediska | |
| 432 443 |  | 
| 433 444 | 
             
                def setnx(key, value)
         | 
| 434 445 | 
             
                  if exists(key)
         | 
| 435 | 
            -
                     | 
| 446 | 
            +
                    0
         | 
| 436 447 | 
             
                  else
         | 
| 437 448 | 
             
                    set(key, value)
         | 
| 438 | 
            -
                     | 
| 449 | 
            +
                    1
         | 
| 439 450 | 
             
                  end
         | 
| 440 451 | 
             
                end
         | 
| 441 452 |  | 
    
        data/lib/rediska/version.rb
    CHANGED
    
    
    
        data/spec/support/hashes.rb
    CHANGED
    
    | @@ -8,6 +8,17 @@ shared_examples 'hashes' do | |
| 8 8 | 
             
                expect(subject.hget('key1', 'k2')).to eq('val2')
         | 
| 9 9 | 
             
              end
         | 
| 10 10 |  | 
| 11 | 
            +
              it 'should delete array of fields' do
         | 
| 12 | 
            +
                subject.hset('key1', 'k1', 'val1')
         | 
| 13 | 
            +
                subject.hset('key1', 'k2', 'val2')
         | 
| 14 | 
            +
                subject.hset('key1', 'k3', 'val3')
         | 
| 15 | 
            +
                expect(subject.hdel('key1', ['k1', 'k2'])).to eq(2)
         | 
| 16 | 
            +
             | 
| 17 | 
            +
                expect(subject.hget('key1', 'k1')).to be_nil
         | 
| 18 | 
            +
                expect(subject.hget('key1', 'k2')).to be_nil
         | 
| 19 | 
            +
                expect(subject.hget('key1', 'k3')).to eq('val3')
         | 
| 20 | 
            +
              end
         | 
| 21 | 
            +
             | 
| 11 22 | 
             
              it 'should remove a hash with no keys left' do
         | 
| 12 23 | 
             
                subject.hset('key1', 'k1', 'val1')
         | 
| 13 24 | 
             
                subject.hset('key1', 'k2', 'val2')
         | 
    
        data/spec/support/keys.rb
    CHANGED
    
    | @@ -26,6 +26,15 @@ shared_examples 'keys' do | |
| 26 26 | 
             
                }.to raise_error(Redis::CommandError)
         | 
| 27 27 | 
             
              end
         | 
| 28 28 |  | 
| 29 | 
            +
               it "should return true when setnx keys that don't exist" do
         | 
| 30 | 
            +
                 expect(subject.setnx('key1', '1')).to be_truthy
         | 
| 31 | 
            +
               end
         | 
| 32 | 
            +
             | 
| 33 | 
            +
               it 'should return false when setnx keys exist' do
         | 
| 34 | 
            +
                 subject.set('key1', '1')
         | 
| 35 | 
            +
                 expect(subject.setnx('key1', '1')).to be_falsey
         | 
| 36 | 
            +
               end
         | 
| 37 | 
            +
             | 
| 29 38 | 
             
              it 'should return true when setting expires on keys that exist' do
         | 
| 30 39 | 
             
                subject.set('key1', '1')
         | 
| 31 40 | 
             
                expect(subject.expire('key1', 1)).to be_truthy
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: rediska
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.1. | 
| 4 | 
            +
              version: 0.1.11
         | 
| 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-09-11 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: redis
         |