broadcaster 0.1.1 → 1.0.0

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