redis_pipeline 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -5,10 +5,13 @@ module RedisPipeline
5
5
  require 'uri'
6
6
  require 'redis'
7
7
 
8
+ attr_reader :errors
9
+
8
10
  def initialize()
9
11
  configure
10
12
  @redis = open_redis_connection
11
13
  @commands = []
14
+ @errors = []
12
15
  end
13
16
 
14
17
  def add_commands(new_commands)
@@ -22,7 +25,8 @@ module RedisPipeline
22
25
  while @commands.length > 0
23
26
  pipeline_commands(command_batch)
24
27
  end
25
- rescue
28
+ rescue => error
29
+ @errors << error.message
26
30
  response = false
27
31
  end
28
32
  response
@@ -1,3 +1,3 @@
1
1
  module RedisPipeline
2
- VERSION = "0.0.3"
2
+ VERSION = "0.0.4"
3
3
  end
@@ -90,6 +90,14 @@ class TestRedisPipeline < Test::Unit::TestCase
90
90
  assert_equal false, @pipeline.execute_commands
91
91
  end
92
92
 
93
+ def test_execute_commands_populates_errors_if_error
94
+ mismatched_commands = ['set "string_key" "string_value"', 'hget "string_key" "string_not_a_hash"']
95
+ @pipeline.add_commands(mismatched_commands)
96
+ @pipeline.execute_commands
97
+ assert_equal 1, @pipeline.errors.count, "#{@pipeline.errors.inspect}"
98
+ assert_equal 'ERR Operation against a key holding the wrong kind of value', @pipeline.errors[0]
99
+ end
100
+
93
101
  private
94
102
 
95
103
  def three_batches_of_commands
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: redis_pipeline
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-08-24 00:00:00.000000000Z
12
+ date: 2012-08-30 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: gem_configurator
16
- requirement: &2153290520 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,15 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *2153290520
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
25
30
  - !ruby/object:Gem::Dependency
26
31
  name: redis
27
- requirement: &2153290100 !ruby/object:Gem::Requirement
32
+ requirement: !ruby/object:Gem::Requirement
28
33
  none: false
29
34
  requirements:
30
35
  - - ! '>='
@@ -32,10 +37,15 @@ dependencies:
32
37
  version: '0'
33
38
  type: :runtime
34
39
  prerelease: false
35
- version_requirements: *2153290100
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
36
46
  - !ruby/object:Gem::Dependency
37
47
  name: rake
38
- requirement: &2153289680 !ruby/object:Gem::Requirement
48
+ requirement: !ruby/object:Gem::Requirement
39
49
  none: false
40
50
  requirements:
41
51
  - - ! '>='
@@ -43,7 +53,12 @@ dependencies:
43
53
  version: '0'
44
54
  type: :development
45
55
  prerelease: false
46
- version_requirements: *2153289680
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
47
62
  description: Send commands to a redis server in pipelined batches
48
63
  email:
49
64
  - dlagerroos@ssa-i.org
@@ -85,7 +100,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
85
100
  version: '0'
86
101
  requirements: []
87
102
  rubyforge_project:
88
- rubygems_version: 1.8.16
103
+ rubygems_version: 1.8.21
89
104
  signing_key:
90
105
  specification_version: 3
91
106
  summary: Establishes a connection to a redis server. You can then pass it commands