em-hiredis-sentinel 0.2.0 → 0.2.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 104a38dedcc6966ffbc70bbc9d75aa9f4575355c
4
- data.tar.gz: 33f24f9988e59d6949f2dab4061c7cbe749b7bca
3
+ metadata.gz: 14b1a2ac6854f9241493539a86a73a0b01ec4f31
4
+ data.tar.gz: a708acfa1ecc2809b39fd66e227192605241ce4a
5
5
  SHA512:
6
- metadata.gz: 3bf1bb72150d1bf7ccd0b68e2c6a9c49c8c09bb19c79820f6c6d5ad25857d4dc56a9f1bb8a8360532940e899ea7277959eda4cd179e26fd7cd66de66d9b54a7b
7
- data.tar.gz: 0e4f3e54b0cdf3a8cf2c2e67a2a841e194a230ee4b983e11bce6cc70421f4c40142178ff662c04a534f1d054e47f753bf12bca9b462e7a7efabeb3925b382a0b
6
+ metadata.gz: 2debe14cb60821b1eb203fd8fadc7585ad052ee389c9716371c3048c48aa68954a837f9fc66662aefdb324869941591d623c2acaad631de9cc294e022e4359c5
7
+ data.tar.gz: 43c042ca1d70523e065df6930cafc015efd713fe41c51649c6fc04c273faa20e04c2d459e072747c657c186fe3d16f78566ebc30a29010c258fd0733e0ed3fd4
@@ -8,7 +8,7 @@ Gem::Specification.new do |spec|
8
8
  spec.authors = ["Justin Schneck"]
9
9
  spec.email = ["jschneck@mac.com"]
10
10
  spec.summary = %q{Redis Sentinel for em-hiredis}
11
- spec.description = %q{Monkey patches em-hiredis with sentinel support for failover}
11
+ spec.description = %q{em-hiredis with sentinel support for failover}
12
12
  spec.homepage = "https://github.com/mobileoverlord/em-hiredis-sentinel"
13
13
  spec.license = "MIT"
14
14
 
@@ -17,6 +17,6 @@ Gem::Specification.new do |spec|
17
17
  spec.require_paths = ["lib"]
18
18
 
19
19
  spec.add_development_dependency "bundler", "~> 1.6"
20
- spec.add_development_dependency "rake"
21
- spec.add_dependency 'em-hiredis'
20
+ spec.add_development_dependency "rake", "~> 10.0"
21
+ spec.add_dependency 'em-hiredis', "~> 0.3"
22
22
  end
@@ -1,2 +1,3 @@
1
1
  require 'em-hiredis'
2
+ require 'em-hiredis-sentinel/pubsub_client'
2
3
  require 'em-hiredis-sentinel/redis_client'
@@ -0,0 +1,24 @@
1
+ module EventMachine::Hiredis
2
+ class PubsubClient < BaseClient
3
+ class_eval {
4
+ def initialize(host='localhost', port='6379', password=nil, db=0)
5
+ @subs, @psubs = [], []
6
+ @pubsub_defs = Hash.new { |h,k| h[k] = [] }
7
+
8
+ @sub_callbacks = Hash.new { |h, k| h[k] = [] }
9
+ @psub_callbacks = Hash.new { |h, k| h[k] = [] }
10
+
11
+ super
12
+ end
13
+
14
+ def connect
15
+ # Resubsubscribe to channels on reconnect
16
+ on(:reconnected) {
17
+ raw_send_command(:subscribe, @subs) if @subs.any?
18
+ raw_send_command(:psubscribe, @psubs) if @psubs.any?
19
+ }
20
+ super
21
+ end
22
+ }
23
+ end
24
+ end
@@ -7,7 +7,7 @@ module EventMachine::Hiredis::Sentinel
7
7
  def initialize(sentinels:[], master_name:'mymaster', db:0, password:nil)
8
8
  @master_name = master_name
9
9
  @sentinels = _parse_sentinel_options(sentinels)
10
- p @sentinels
10
+ #p @sentinels
11
11
  raise "Need at least 1 sentinel" if @sentinels.nil? || @sentinels.count < 1
12
12
  @sentinels.uniq! {|h| h.values_at(:host, :port) }
13
13
  @sentinels.shuffle! #try to randomize
@@ -3,7 +3,7 @@ require 'eventmachine'
3
3
  module EventMachine
4
4
  module Hiredis
5
5
  module Sentinel
6
- VERSION = '0.2.0'
6
+ VERSION = '0.2.2'
7
7
  end
8
8
  end
9
9
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: em-hiredis-sentinel
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Justin Schneck
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-07-18 00:00:00.000000000 Z
11
+ date: 2014-07-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -28,31 +28,31 @@ dependencies:
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ">="
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '0'
33
+ version: '10.0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ">="
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '0'
40
+ version: '10.0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: em-hiredis
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ">="
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '0'
47
+ version: '0.3'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ">="
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '0'
55
- description: Monkey patches em-hiredis with sentinel support for failover
54
+ version: '0.3'
55
+ description: em-hiredis with sentinel support for failover
56
56
  email:
57
57
  - jschneck@mac.com
58
58
  executables: []
@@ -66,6 +66,7 @@ files:
66
66
  - Rakefile
67
67
  - em-hiredis-sentinel.gemspec
68
68
  - lib/em-hiredis-sentinel.rb
69
+ - lib/em-hiredis-sentinel/pubsub_client.rb
69
70
  - lib/em-hiredis-sentinel/redis_client.rb
70
71
  - lib/em-hiredis-sentinel/version.rb
71
72
  homepage: https://github.com/mobileoverlord/em-hiredis-sentinel