broadcaster 0.1.1 → 1.0.0

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: 9db2fe4bfde7c7696999349310f62e331fcf4bda
4
- data.tar.gz: 36341eaf5595452ba33947f7144cefd6004372f7
3
+ metadata.gz: 1c5c98fb655b82035d2e992af50959f0b56fa15e
4
+ data.tar.gz: 9d1ef5f6ca63be591b5842b0eaffd2ec43584a63
5
5
  SHA512:
6
- metadata.gz: 81c0b0bef9dd55b41082930634067078f166c7864d372a2bcf9b89baa9ec610232e9f2bc8cff4410e2260b7f62d1db6ecadb74a947834e67c8862dd6ae015ef8
7
- data.tar.gz: c0abdbd7b65a60f070358959eec6772daf27f8fa29beeb58f7ea4208324108d8c1fcb05ca40b5578bd40f9152871ff040fd29087a2976862cc0924d2e549dbd9
6
+ metadata.gz: a67deec06630d753007c1d6757c1f57b159b8add84a6abe90e4c63f348409084bf3b8463f3f2ed098081897673cd63c44eb636258ae5bb880a14aa29e0d7e16e
7
+ data.tar.gz: 91bbcf0c370d1f528f3c9c662dd2ee2593d5cc2a0855805116ebb9df40a4b2e7f4e708eddeb3c2afd2facb9e3388207722408ae208d209b44f3ba7cef0e635c9
data/README.md CHANGED
@@ -46,7 +46,10 @@ broadcaster.unsubscribe_all
46
46
  ```ruby
47
47
  Broadcaster.configure do |config|
48
48
  config.logger = Logger.new '/file.log'
49
- config.redis_url = 'redis://host_name:6379'
49
+ config.redis_settings = 'redis://host_name:6379'
50
+ # or
51
+ config.redis_client = Redic::Sentinels
52
+ config.redis_settings = hosts: [sentinel_1, sentinel_2], master_name: 'mymaster'
50
53
  end
51
54
  ```
52
55
 
@@ -54,9 +57,12 @@ end
54
57
 
55
58
  ```ruby
56
59
  options = {
57
- id: 'my_app', # Shared broadcaster for multiple processes
58
- redis_url: 'redis://host_name:6379', # Custom redis connection
59
- logger: Logger.new('/file.log') # Custom logger
60
+ id: 'my_app', # Shared broadcaster for multiple processes
61
+ redis_settings: 'redis://host_name:6379', # Custom redis connection
62
+ logger: Logger.new('/file.log') # Custom logger
63
+ # or
64
+ redis_client: Redic::Sentinels,
65
+ redis_settings: hosts: [sentinel_1, sentinel_2], master_name: 'mymaster'
60
66
  }
61
67
 
62
68
  Broadcaster.new options
data/broadcaster.gemspec CHANGED
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
 
5
5
  Gem::Specification.new do |spec|
6
6
  spec.name = 'broadcaster'
7
- spec.version = '0.1.1'
7
+ spec.version = '1.0.0'
8
8
  spec.authors = ['Gabriel Naiman']
9
9
  spec.email = ['gabynaiman@gmail.com']
10
10
  spec.summary = 'Broadcasting based on Redis PubSub'
data/lib/broadcaster.rb CHANGED
@@ -6,7 +6,8 @@ class Broadcaster
6
6
 
7
7
  extend ClassConfig
8
8
 
9
- attr_config :redis_url, 'redis://localhost:6379'
9
+ attr_config :redis_client, Redic
10
+ attr_config :redis_settings, 'redis://localhost:6379'
10
11
  attr_config :logger, Logger.new(STDOUT)
11
12
 
12
13
  attr_reader :id
@@ -14,8 +15,9 @@ class Broadcaster
14
15
  def initialize(options={})
15
16
  @id = options.fetch(:id, SecureRandom.uuid)
16
17
  @logger = options.fetch(:logger, Broadcaster.logger)
17
- @publisher = Redic.new options.fetch(:redis_url, Broadcaster.redis_url)
18
- @subscriber = Redic.new options.fetch(:redis_url, Broadcaster.redis_url)
18
+ @redis_client = options.fetch(:redis_client, Broadcaster.redis_client)
19
+ @publisher = @redis_client.new options.fetch(:redis_settings, Broadcaster.redis_settings)
20
+ @subscriber = @redis_client.new options.fetch(:redis_settings, Broadcaster.redis_settings)
19
21
  @subscriptions = Hash.new { |h,k| h[k] = {} }
20
22
  @mutex = Mutex.new
21
23
  listen
@@ -149,8 +149,8 @@ describe Broadcaster do
149
149
  1 => ['message 1', 'message 2']
150
150
  end
151
151
 
152
- it 'Custom redis url' do
153
- error = proc { Broadcaster.new redis_url: 'redis://invalid_host:6379' }.must_raise StandardError
152
+ it 'Custom redis connection' do
153
+ error = proc { Broadcaster.new redis_settings: 'redis://invalid_host:6379' }.must_raise StandardError
154
154
  error.message.must_match 'invalid_host'
155
155
  end
156
156
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: broadcaster
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gabriel Naiman
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-01-04 00:00:00.000000000 Z
11
+ date: 2017-05-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: redic