rediska 0.0.6 → 0.0.7

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rediska (0.0.6)
4
+ rediska (0.0.7)
5
5
  redis (~> 3.0.0)
6
6
 
7
7
  GEM
@@ -17,6 +17,7 @@ GEM
17
17
  json (1.8.1)
18
18
  mime-types (1.25)
19
19
  multi_json (1.8.2)
20
+ rake (10.1.1)
20
21
  rdoc (4.0.1)
21
22
  json (~> 1.4)
22
23
  redis (3.0.6)
@@ -44,6 +45,7 @@ PLATFORMS
44
45
 
45
46
  DEPENDENCIES
46
47
  coveralls
48
+ rake
47
49
  rdoc
48
50
  rediska!
49
51
  rspec (~> 2.14)
@@ -93,7 +93,7 @@ module Rediska
93
93
  def bgsave
94
94
  end
95
95
 
96
- def bgreriteaof
96
+ def bgrewriteaof
97
97
  end
98
98
 
99
99
  def move key, destination_id
@@ -524,10 +524,10 @@ module Rediska
524
524
  end
525
525
 
526
526
  def hmget(key, *fields)
527
- raise_argument_error('hmget') if fields.empty?
527
+ raise_argument_error('hmget') if fields.empty?
528
528
 
529
529
  data_type_check(key, Hash)
530
- fields.map do |field|
530
+ fields.flatten.map do |field|
531
531
  field = field.to_s
532
532
  if data[key]
533
533
  data[key][field]
@@ -560,6 +560,17 @@ module Rediska
560
560
  data[key][field].to_i
561
561
  end
562
562
 
563
+ def hincrbyfloat(key, field, increment)
564
+ data_type_check(key, Hash)
565
+ field = field.to_s
566
+ if data[key]
567
+ data[key][field] = (data[key][field].to_f + increment.to_f).to_s
568
+ else
569
+ data[key] = { field => increment.to_s }
570
+ end
571
+ data[key][field]
572
+ end
573
+
563
574
  def hexists(key, field)
564
575
  data_type_check(key, Hash)
565
576
  return false unless data[key]
@@ -1,3 +1,3 @@
1
1
  module Rediska
2
- VERSION = '0.0.6'
2
+ VERSION = '0.0.7'
3
3
  end
@@ -21,4 +21,5 @@ Gem::Specification.new do |s|
21
21
  s.add_runtime_dependency 'redis', '~> 3.0.0'
22
22
  s.add_development_dependency 'rspec', '~> 2.14'
23
23
  s.add_development_dependency 'coveralls'
24
+ s.add_development_dependency 'rake'
24
25
  end
@@ -45,7 +45,6 @@ describe 'Rediska' do
45
45
  end
46
46
  end
47
47
 
48
- # Remove the pending declaration in order to test interoperability with a local instance of redis.
49
48
  pending 'real redis (interoperability)' do
50
49
  before do
51
50
  subject.flushall
@@ -64,6 +64,17 @@ shared_examples 'hashes' do
64
64
  subject.hincrby('key1', 'cont2', '5').should eq(5)
65
65
  end
66
66
 
67
+ it 'should increment the float value of a hash field by the given float' do
68
+ subject.hset('key1', 'cont1', 5.0)
69
+ subject.hincrbyfloat('key1', 'cont1', 4.1).should be == 9.1
70
+ subject.hget('key1', 'cont1').should be == '9.1'
71
+ end
72
+
73
+ it 'should increment non existing hash keys' do
74
+ subject.hget('key1', 'cont2').should be_nil
75
+ subject.hincrbyfloat('key1', 'cont2', 5.5).should be == 5.5
76
+ end
77
+
67
78
  it 'should get all the fields in a hash' do
68
79
  subject.hset('key1', 'i1', 'val1')
69
80
  subject.hset('key1', 'i2', 'val2')
@@ -84,6 +95,8 @@ shared_examples 'hashes' do
84
95
  subject.hset('key1', 'i2', 'val2')
85
96
 
86
97
  subject.hmget('key1', 'i1', 'i2', 'i3').should eq(['val1', 'val2', nil])
98
+ subject.hmget('key1', ['i1', 'i2', 'i3']).should =~ ['val1', 'val2', nil]
99
+
87
100
  subject.hmget('key2', 'i1', 'i2').should eq([nil, nil])
88
101
  end
89
102
 
@@ -8,4 +8,12 @@ shared_examples 'transactions' do
8
8
 
9
9
  transaction.should eq(['OK', 'OK', ['1', '2']])
10
10
  end
11
+
12
+ it 'should execute all command after multi' do
13
+ subject.multi
14
+ subject.set('key1', '1')
15
+ subject.set('key2', '2')
16
+ subject.mget('key1', 'key2')
17
+ subject.exec.should be == ['OK', 'OK', ['1', '2']]
18
+ end
11
19
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rediska
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-12-14 00:00:00.000000000 Z
12
+ date: 2014-01-11 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: redis
@@ -59,6 +59,22 @@ dependencies:
59
59
  - - ! '>='
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
+ - !ruby/object:Gem::Dependency
63
+ name: rake
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
70
+ type: :development
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
62
78
  description: ! "A light-weighted redis driver for testing, development, and minimal
63
79
  environments,\n which supports various data storage strategies."
64
80
  email: