redis_pipeline 0.0.4 → 0.0.5

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.
data/README.md CHANGED
@@ -38,13 +38,13 @@ Create a new pipeline
38
38
  Queue up commands with add_commands either as a single string
39
39
 
40
40
  ```ruby
41
- pipeline.add_commands('set hello world')
41
+ pipeline.add_commands('set|hello|world')
42
42
  ```
43
43
 
44
44
  or an array
45
45
 
46
46
  ```ruby
47
- array = ['hset gem first_name redis', 'hset gem last_name pipeline']
47
+ array = ['hset|gem|first_name|redis', '|hset|gem|last_name|pipeline']
48
48
  pipeline.add_commands(array)
49
49
  ```
50
50
 
@@ -56,7 +56,7 @@ module RedisPipeline
56
56
  def pipeline_commands(command_batch)
57
57
  @redis.pipelined do
58
58
  command_batch.each do |command|
59
- redis_args = command.split(" ")
59
+ redis_args = command.split("|")
60
60
  @redis.send(*redis_args)
61
61
  end
62
62
  end
@@ -1,3 +1,3 @@
1
1
  module RedisPipeline
2
- VERSION = "0.0.4"
2
+ VERSION = "0.0.5"
3
3
  end
@@ -2,8 +2,8 @@
2
2
  require File.expand_path('../lib/redis_pipeline/version', __FILE__)
3
3
 
4
4
  Gem::Specification.new do |gem|
5
- gem.authors = ["Davin Lagerroos"]
6
- gem.email = ["dlagerroos@ssa-i.org"]
5
+ gem.authors = ["Ian Whitney", "Davin Lagerroos"]
6
+ gem.email = ["iwhitney@ssa-i.org", "dlagerroos@ssa-i.org"]
7
7
  gem.description = %q{Send commands to a redis server in pipelined batches}
8
8
  gem.summary = %q{Establishes a connection to a redis server. You can then pass it commands that will be queued to be pipelined. Intended for mass upload.}
9
9
  gem.homepage = ""
@@ -22,21 +22,21 @@ class TestRedisPipeline < Test::Unit::TestCase
22
22
  end
23
23
 
24
24
  def test_add_commands_adds_array_of_commands_as_seperate_commands
25
- commands = ["hset person:0 first_name joe", "hest person:0 last_name smith"]
25
+ commands = ["hset|person:0|first_name|joe", "hest|person:0|last_name|smith"]
26
26
  @pipeline.add_commands(commands)
27
27
  assert_equal commands.length, @pipeline.send(:commands).length
28
28
  end
29
29
 
30
30
  def test_add_commands_adds_string_as_single_command
31
- commands = "hset person:0 first_name joe"
31
+ commands = "hset|person:0 first_name joe"
32
32
  @pipeline.add_commands(commands)
33
33
  assert_equal 1, @pipeline.send(:commands).length
34
34
  end
35
35
 
36
36
  def test_add_commands_queues_commands_at_end
37
- commands = ["hset person:0 first_name joe", "hest person:0 last_name smith"]
37
+ commands = ["hset|person:0|first_name|joe", "hest|person:0|last_name|smith"]
38
38
  @pipeline.add_commands(commands)
39
- last_command = "hset person:1 first_name jane"
39
+ last_command = "hset|person:1|first_name|jane"
40
40
  @pipeline.add_commands(last_command)
41
41
  assert_equal commands[0], @pipeline.send(:commands).first
42
42
  assert_equal last_command, @pipeline.send(:commands).last
@@ -63,8 +63,8 @@ class TestRedisPipeline < Test::Unit::TestCase
63
63
  redis = Redis.new(:host => uri_parsed.host, :port => uri_parsed.port, :password => uri_parsed.password)
64
64
  @pipeline.add_commands(three_batches_of_commands)
65
65
 
66
- first_command = @pipeline.send(:commands).first.split(" ")
67
- last_command = @pipeline.send(:commands).last.split(" ")
66
+ first_command = @pipeline.send(:commands).first.split("|")
67
+ last_command = @pipeline.send(:commands).last.split("|")
68
68
  assert_equal Hash.new(), redis.send("hgetall", first_command[1])
69
69
  assert_equal Hash.new(), redis.send("hgetall", last_command[1])
70
70
 
@@ -85,13 +85,13 @@ class TestRedisPipeline < Test::Unit::TestCase
85
85
  end
86
86
 
87
87
  def test_execute_commands_returns_false_if_error
88
- mismatched_commands = ['set "string_key" "string_value"', 'hget "string_key" "string_not_a_hash"']
88
+ mismatched_commands = ['set|"string_key"|"string_value"', 'hget|"string_key"|"string_not_a_hash"']
89
89
  @pipeline.add_commands(mismatched_commands)
90
90
  assert_equal false, @pipeline.execute_commands
91
91
  end
92
92
 
93
93
  def test_execute_commands_populates_errors_if_error
94
- mismatched_commands = ['set "string_key" "string_value"', 'hget "string_key" "string_not_a_hash"']
94
+ mismatched_commands = ['set|"string_key"|"string_value"', 'hget|"string_key"|"string_not_a_hash"']
95
95
  @pipeline.add_commands(mismatched_commands)
96
96
  @pipeline.execute_commands
97
97
  assert_equal 1, @pipeline.errors.count, "#{@pipeline.errors.inspect}"
@@ -101,7 +101,7 @@ class TestRedisPipeline < Test::Unit::TestCase
101
101
  private
102
102
 
103
103
  def three_batches_of_commands
104
- first_names = ["Lindsey", "Dodie", "Tommie", "Aletha", "Matilda", "Robby", "Forest", "Sherrie", "Elroy", "Darlene", "Blossom", "Preston", "Ivan", "Denisha", "Antonietta", "Lenora", "Fatimah", "Alvaro", "Madeleine", "Johnsie", "Jacki"]
104
+ first_names = ["Lindsey Sue", "Dodie", "Tommie", "Aletha", "Matilda", "Robby", "Forest", "Sherrie", "Elroy", "Darlene", "Blossom", "Preston", "Ivan", "Denisha", "Antonietta", "Lenora", "Fatimah", "Alvaro", "Madeleine", "Johnsie", "Jacki"]
105
105
  last_names = ["Austino", "Egnor", "Mclauglin", "Vettel", "Osornio", "Kloke", "Neall", "Licon", "Bergren", "Guialdo", "Heu", "Lilla", "Fogt", "Ellinghuysen", "Banner", "Gammage", "Fleniken", "Byerley", "Mccandless", "Hatchet", "Segal", "Bagnall", "Mangum", "Marinella", "Hunke", "Klis", "Skonczewski", "Aiava", "Masson", "Hochhauser", "Pfost", "Cripps", "Surrell", "Carstens", "Moeder", "Feller", "Turri", "Plummer", "Liuzza", "Macaskill", "Pirie", "Haase", "Gummersheimer", "Caden", "Balich", "Franssen", "Barbur", "Bonker", "Millar", "Armijo", "Canales", "Kucera", "Ahlstrom", "Marcoux", "Dagel", "Vandonsel", "Lagrasse", "Bolten", "Smyer", "Spiker", "Detz", "Munar", "Oieda", "Westin", "Levenson", "Ramagos", "Lipson", "Crankshaw", "Polton", "Seibt", "Genrich", "Shempert", "Bonillas", "Stout", "Caselli", "Jaji", "Kudo", "Feauto", "Hetland", "Hsieh", "Iwasko", "Jayme", "Lebby", "Dircks", "Hainley", "Gielstra", "Dozois", "Suss", "Matern", "Mcloud", "Fassio", "Blumstein", "Qin", "Gindi", "Petrizzo", "Beath", "Tonneson", "Fraga", "Tamura", "Cappellano", "Galella"]
106
106
 
107
107
  # each first_name,last_name pair is 2 commands so to get 2 batches plus extra we only need batch_size number pairs plus some extra * 1.33
@@ -110,8 +110,8 @@ class TestRedisPipeline < Test::Unit::TestCase
110
110
  (0..number_of_commands).each do |i|
111
111
  first = first_names.shift
112
112
  last = last_names.shift
113
- commands << "hset person:#{i} first_name #{first}"
114
- commands << "hset person:#{i} lsst_name #{last}"
113
+ commands << "hset|person:#{i}|first_name|#{first}"
114
+ commands << "hset|person:#{i}|lsst_name|#{last}"
115
115
  first_names.push(first)
116
116
  last_names.push(last)
117
117
  end
metadata CHANGED
@@ -1,19 +1,20 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: redis_pipeline
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
8
+ - Ian Whitney
8
9
  - Davin Lagerroos
9
10
  autorequire:
10
11
  bindir: bin
11
12
  cert_chain: []
12
- date: 2012-08-30 00:00:00.000000000 Z
13
+ date: 2012-08-31 00:00:00.000000000Z
13
14
  dependencies:
14
15
  - !ruby/object:Gem::Dependency
15
16
  name: gem_configurator
16
- requirement: !ruby/object:Gem::Requirement
17
+ requirement: &2161477740 !ruby/object:Gem::Requirement
17
18
  none: false
18
19
  requirements:
19
20
  - - ! '>='
@@ -21,15 +22,10 @@ dependencies:
21
22
  version: '0'
22
23
  type: :runtime
23
24
  prerelease: false
24
- version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
- requirements:
27
- - - ! '>='
28
- - !ruby/object:Gem::Version
29
- version: '0'
25
+ version_requirements: *2161477740
30
26
  - !ruby/object:Gem::Dependency
31
27
  name: redis
32
- requirement: !ruby/object:Gem::Requirement
28
+ requirement: &2161477320 !ruby/object:Gem::Requirement
33
29
  none: false
34
30
  requirements:
35
31
  - - ! '>='
@@ -37,15 +33,10 @@ dependencies:
37
33
  version: '0'
38
34
  type: :runtime
39
35
  prerelease: false
40
- version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
- requirements:
43
- - - ! '>='
44
- - !ruby/object:Gem::Version
45
- version: '0'
36
+ version_requirements: *2161477320
46
37
  - !ruby/object:Gem::Dependency
47
38
  name: rake
48
- requirement: !ruby/object:Gem::Requirement
39
+ requirement: &2161476900 !ruby/object:Gem::Requirement
49
40
  none: false
50
41
  requirements:
51
42
  - - ! '>='
@@ -53,14 +44,10 @@ dependencies:
53
44
  version: '0'
54
45
  type: :development
55
46
  prerelease: false
56
- version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
- requirements:
59
- - - ! '>='
60
- - !ruby/object:Gem::Version
61
- version: '0'
47
+ version_requirements: *2161476900
62
48
  description: Send commands to a redis server in pipelined batches
63
49
  email:
50
+ - iwhitney@ssa-i.org
64
51
  - dlagerroos@ssa-i.org
65
52
  executables: []
66
53
  extensions: []
@@ -100,7 +87,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
100
87
  version: '0'
101
88
  requirements: []
102
89
  rubyforge_project:
103
- rubygems_version: 1.8.21
90
+ rubygems_version: 1.8.16
104
91
  signing_key:
105
92
  specification_version: 3
106
93
  summary: Establishes a connection to a redis server. You can then pass it commands