redis_pipeline 0.0.3 → 0.0.4

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.
@@ -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