pubsubstub 0.1.3 → 0.2.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
- SHA1:
3
- metadata.gz: 6549edd3271aea9f63868a73df5e2d7abbac4cc3
4
- data.tar.gz: 771ff6a8653ff3f956ba5396b1bbcef79f6f6eb4
2
+ SHA256:
3
+ metadata.gz: 52d4022c66cab3176cf8b4d22ad1486f5a85e9ae7b0d5da879ca880f85dfe810
4
+ data.tar.gz: cb11ca87209e5c282f99fbb0cba80dd9a143a25148d9771a50a713688cb19b40
5
5
  SHA512:
6
- metadata.gz: fc27ef10f261293dc52adf96789fb5c7de4ac1065cc4a2b8257f3c36d9afe63c9a4c734c90c923d43bc2960404e733bdbe6c525a91197e15b6a166361bde8a4f
7
- data.tar.gz: 3ccd4fb1ef9886ba092d1d33d16c9d8e013a165f31eeb6f229354fea5fa6bc89bb3f115fd465f15f2cfac8a3817aa82589aa1f50aa53bfb9bb5f074e2da9d26c
6
+ metadata.gz: 0a1ad2e300ee2ac5e7c438b0000e0fc21c3403655abfcc04606a1f4abd1a53676ea04383826ce2014abc92b6141be132e0802df231185c07051a7e39615f2e20
7
+ data.tar.gz: 00205b7eede161dd87212a0c40d4cc8b4b06a3c97c8a54f0bde3dc0778c246a364e0d5e15ecf218b78d97e3351d67e8293ff4bce2c2e748f2ccbee5271dd6722
@@ -1,6 +1,9 @@
1
1
  language: ruby
2
2
  rvm:
3
- - 2.2.2
3
+ - 2.3
4
+ - 2.4
5
+ - 2.5
6
+ - 2.6.3
4
7
  gemfile:
5
8
  - gemfiles/Gemfile.rack-1.x
6
9
  - gemfiles/Gemfile.rack-2.x
data/Gemfile CHANGED
@@ -3,10 +3,11 @@ source 'https://rubygems.org'
3
3
  # Specify your gem's dependencies in pubsubstub.gemspec
4
4
  gemspec
5
5
 
6
- gem "rspec", "3.1.0"
6
+ gem 'rspec', '~> 3.8'
7
7
  gem "pry-byebug"
8
+ gem "byebug", '~> 10.0'
8
9
  gem "puma", "~> 3.4"
9
10
  gem "thin", "~> 1.6"
10
11
  gem "rack-test"
11
12
  gem "timecop"
12
- gem "rake", "~> 10.0"
13
+ gem "rake"
@@ -1,11 +1,12 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
3
  gem 'rack', '< 2'
4
- gem 'redis', '~> 3.0'
5
- gem "rspec", "3.1.0"
4
+ gem 'redis', '~> 4.0'
5
+ gem 'rspec', '~> 3.8'
6
6
  gem "pry-byebug"
7
+ gem "byebug", '~> 10.0'
7
8
  gem "puma", "~> 3.4"
8
9
  gem "thin", "~> 1.6"
9
10
  gem "rack-test"
10
11
  gem "timecop"
11
- gem "rake", "~> 10.0"
12
+ gem "rake"
@@ -1,57 +1,57 @@
1
1
  GEM
2
2
  remote: https://rubygems.org/
3
3
  specs:
4
- byebug (9.0.5)
5
- coderay (1.1.1)
6
- daemons (1.2.4)
7
- diff-lcs (1.2.5)
8
- eventmachine (1.2.0.1)
9
- method_source (0.8.2)
10
- pry (0.10.4)
4
+ byebug (10.0.2)
5
+ coderay (1.1.2)
6
+ daemons (1.3.1)
7
+ diff-lcs (1.3)
8
+ eventmachine (1.2.7)
9
+ method_source (0.9.2)
10
+ pry (0.12.2)
11
11
  coderay (~> 1.1.0)
12
- method_source (~> 0.8.1)
13
- slop (~> 3.4)
14
- pry-byebug (3.4.0)
15
- byebug (~> 9.0)
12
+ method_source (~> 0.9.0)
13
+ pry-byebug (3.6.0)
14
+ byebug (~> 10.0)
16
15
  pry (~> 0.10)
17
- puma (3.6.0)
18
- rack (1.6.4)
19
- rack-test (0.6.3)
20
- rack (>= 1.0)
21
- rake (10.5.0)
22
- redis (3.3.1)
23
- rspec (3.1.0)
24
- rspec-core (~> 3.1.0)
25
- rspec-expectations (~> 3.1.0)
26
- rspec-mocks (~> 3.1.0)
27
- rspec-core (3.1.7)
28
- rspec-support (~> 3.1.0)
29
- rspec-expectations (3.1.2)
16
+ puma (3.12.1)
17
+ rack (1.6.11)
18
+ rack-test (1.1.0)
19
+ rack (>= 1.0, < 3)
20
+ rake (12.3.3)
21
+ redis (4.1.2)
22
+ rspec (3.8.0)
23
+ rspec-core (~> 3.8.0)
24
+ rspec-expectations (~> 3.8.0)
25
+ rspec-mocks (~> 3.8.0)
26
+ rspec-core (3.8.2)
27
+ rspec-support (~> 3.8.0)
28
+ rspec-expectations (3.8.4)
30
29
  diff-lcs (>= 1.2.0, < 2.0)
31
- rspec-support (~> 3.1.0)
32
- rspec-mocks (3.1.3)
33
- rspec-support (~> 3.1.0)
34
- rspec-support (3.1.2)
35
- slop (3.6.0)
36
- thin (1.7.0)
30
+ rspec-support (~> 3.8.0)
31
+ rspec-mocks (3.8.1)
32
+ diff-lcs (>= 1.2.0, < 2.0)
33
+ rspec-support (~> 3.8.0)
34
+ rspec-support (3.8.2)
35
+ thin (1.7.2)
37
36
  daemons (~> 1.0, >= 1.0.9)
38
37
  eventmachine (~> 1.0, >= 1.0.4)
39
38
  rack (>= 1, < 3)
40
- timecop (0.8.1)
39
+ timecop (0.9.1)
41
40
 
42
41
  PLATFORMS
43
42
  ruby
44
43
 
45
44
  DEPENDENCIES
45
+ byebug (~> 10.0)
46
46
  pry-byebug
47
47
  puma (~> 3.4)
48
48
  rack (< 2)
49
49
  rack-test
50
- rake (~> 10.0)
51
- redis (~> 3.0)
52
- rspec (= 3.1.0)
50
+ rake
51
+ redis (~> 4.0)
52
+ rspec (~> 3.8)
53
53
  thin (~> 1.6)
54
54
  timecop
55
55
 
56
56
  BUNDLED WITH
57
- 1.12.5
57
+ 1.17.3
@@ -1,11 +1,12 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
3
  gem 'rack', '~> 2.0'
4
- gem 'redis', '~> 3.0'
5
- gem "rspec", "3.1.0"
4
+ gem 'redis', '~> 4.0'
5
+ gem 'rspec', '~> 3.8'
6
6
  gem "pry-byebug"
7
+ gem "byebug", '~> 10.0'
7
8
  gem "puma", "~> 3.4"
8
9
  gem "thin", "~> 1.6"
9
10
  gem "rack-test"
10
11
  gem "timecop"
11
- gem "rake", "~> 10.0"
12
+ gem "rake"
@@ -1,57 +1,57 @@
1
1
  GEM
2
2
  remote: https://rubygems.org/
3
3
  specs:
4
- byebug (9.0.5)
5
- coderay (1.1.1)
6
- daemons (1.2.4)
7
- diff-lcs (1.2.5)
8
- eventmachine (1.2.0.1)
9
- method_source (0.8.2)
10
- pry (0.10.4)
4
+ byebug (10.0.2)
5
+ coderay (1.1.2)
6
+ daemons (1.3.1)
7
+ diff-lcs (1.3)
8
+ eventmachine (1.2.7)
9
+ method_source (0.9.2)
10
+ pry (0.12.2)
11
11
  coderay (~> 1.1.0)
12
- method_source (~> 0.8.1)
13
- slop (~> 3.4)
14
- pry-byebug (3.4.0)
15
- byebug (~> 9.0)
12
+ method_source (~> 0.9.0)
13
+ pry-byebug (3.6.0)
14
+ byebug (~> 10.0)
16
15
  pry (~> 0.10)
17
- puma (3.6.0)
18
- rack (2.0.1)
19
- rack-test (0.6.3)
20
- rack (>= 1.0)
21
- rake (10.5.0)
22
- redis (3.3.1)
23
- rspec (3.1.0)
24
- rspec-core (~> 3.1.0)
25
- rspec-expectations (~> 3.1.0)
26
- rspec-mocks (~> 3.1.0)
27
- rspec-core (3.1.7)
28
- rspec-support (~> 3.1.0)
29
- rspec-expectations (3.1.2)
16
+ puma (3.12.1)
17
+ rack (2.0.7)
18
+ rack-test (1.1.0)
19
+ rack (>= 1.0, < 3)
20
+ rake (12.3.3)
21
+ redis (4.1.2)
22
+ rspec (3.8.0)
23
+ rspec-core (~> 3.8.0)
24
+ rspec-expectations (~> 3.8.0)
25
+ rspec-mocks (~> 3.8.0)
26
+ rspec-core (3.8.2)
27
+ rspec-support (~> 3.8.0)
28
+ rspec-expectations (3.8.4)
30
29
  diff-lcs (>= 1.2.0, < 2.0)
31
- rspec-support (~> 3.1.0)
32
- rspec-mocks (3.1.3)
33
- rspec-support (~> 3.1.0)
34
- rspec-support (3.1.2)
35
- slop (3.6.0)
36
- thin (1.7.0)
30
+ rspec-support (~> 3.8.0)
31
+ rspec-mocks (3.8.1)
32
+ diff-lcs (>= 1.2.0, < 2.0)
33
+ rspec-support (~> 3.8.0)
34
+ rspec-support (3.8.2)
35
+ thin (1.7.2)
37
36
  daemons (~> 1.0, >= 1.0.9)
38
37
  eventmachine (~> 1.0, >= 1.0.4)
39
38
  rack (>= 1, < 3)
40
- timecop (0.8.1)
39
+ timecop (0.9.1)
41
40
 
42
41
  PLATFORMS
43
42
  ruby
44
43
 
45
44
  DEPENDENCIES
45
+ byebug (~> 10.0)
46
46
  pry-byebug
47
47
  puma (~> 3.4)
48
48
  rack (~> 2.0)
49
49
  rack-test
50
- rake (~> 10.0)
51
- redis (~> 3.0)
52
- rspec (= 3.1.0)
50
+ rake
51
+ redis (~> 4.0)
52
+ rspec (~> 3.8)
53
53
  thin (~> 1.6)
54
54
  timecop
55
55
 
56
56
  BUNDLED WITH
57
- 1.12.5
57
+ 1.17.3
@@ -31,7 +31,7 @@ module Pubsubstub
31
31
  # redis.client.call allow to bypass the client mutex
32
32
  # Since we now that the only other possible caller is blocking on reading the socket this is safe
33
33
  synchronize do
34
- redis.client.call(['punsubscribe', pubsub_pattern])
34
+ redis._client.call(['punsubscribe', pubsub_pattern])
35
35
  end
36
36
  end
37
37
 
@@ -1,3 +1,3 @@
1
1
  module Pubsubstub
2
- VERSION = "0.1.3"
2
+ VERSION = "0.2.0"
3
3
  end
@@ -19,7 +19,7 @@ Gem::Specification.new do |spec|
19
19
  spec.require_paths = ["lib"]
20
20
 
21
21
  spec.add_dependency 'rack'
22
- spec.add_dependency 'redis', "~> 3.0"
22
+ spec.add_dependency 'redis', "~> 4.0"
23
23
 
24
- spec.add_development_dependency "bundler", "~> 1.5"
24
+ spec.add_development_dependency "bundler", "~> 1.17.3"
25
25
  end
@@ -19,7 +19,7 @@ Pubsubstub.logger.level = Logger::DEBUG
19
19
  # Fake EM
20
20
  module EventMachine
21
21
  extend self
22
-
22
+
23
23
  def reactor_running?
24
24
  false
25
25
  end
@@ -36,4 +36,9 @@ RSpec.configure do |config|
36
36
  config.order = 'random'
37
37
 
38
38
  config.before(:each) { Redis.new(url: Pubsubstub.redis_url).flushdb }
39
+
40
+ # Clean threads after finish
41
+ config.after(:each) do
42
+ Thread.list.each { |thread| thread.join(0.5) if thread != Thread.current }
43
+ end
39
44
  end
@@ -10,12 +10,17 @@ RSpec.describe Pubsubstub::Subscriber do
10
10
  subject.add_event_listener('plop', -> (event) { published_events << event })
11
11
  subscribe_thread = Thread.new { subject.start }
12
12
 
13
- expect { subject.subscribed? }.to happen
13
+ expect { subject.subscribed? }.to happen.in_under(1)
14
14
 
15
15
  events.each(&channel.method(:publish))
16
16
 
17
+ expect { published_events.size == events.size }.to happen.in_under(2)
18
+
17
19
  subject.stop
18
- expect { !subject.subscribed? }.to happen
20
+
21
+ subscribe_thread.join(2)
22
+
23
+ expect { ! subject.subscribed? }.to happen.in_under(1)
19
24
 
20
25
  expect(subscribe_thread).to complete
21
26
 
@@ -6,7 +6,7 @@ module HTTPHelpers
6
6
  queue = Queue.new
7
7
  Thread.start do
8
8
  begin
9
- Net::HTTP.start(uri.host, uri.port) do |http|
9
+ Net::HTTP.start(uri.host, uri.port, open_timeout: 10) do |http|
10
10
  request = Net::HTTP::Get.new uri.request_uri
11
11
  headers.each do |name, value|
12
12
  request.add_field(name, value)
metadata CHANGED
@@ -1,57 +1,57 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pubsubstub
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Guillaume Malette
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-10-11 00:00:00.000000000 Z
11
+ date: 2019-09-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rack
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '>='
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - '>='
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: redis
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ~>
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '3.0'
33
+ version: '4.0'
34
34
  type: :runtime
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: '3.0'
40
+ version: '4.0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: bundler
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ~>
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '1.5'
47
+ version: 1.17.3
48
48
  type: :development
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: '1.5'
54
+ version: 1.17.3
55
55
  description: Pubsubstub can be added to a rack Application or deployed standalone.
56
56
  It uses Redis to do the Pub/Sub
57
57
  email:
@@ -62,9 +62,9 @@ executables:
62
62
  extensions: []
63
63
  extra_rdoc_files: []
64
64
  files:
65
- - .gitignore
66
- - .rspec
67
- - .travis.yml
65
+ - ".gitignore"
66
+ - ".rspec"
67
+ - ".travis.yml"
68
68
  - Gemfile
69
69
  - LICENSE.txt
70
70
  - README.md
@@ -109,17 +109,16 @@ require_paths:
109
109
  - lib
110
110
  required_ruby_version: !ruby/object:Gem::Requirement
111
111
  requirements:
112
- - - '>='
112
+ - - ">="
113
113
  - !ruby/object:Gem::Version
114
114
  version: '0'
115
115
  required_rubygems_version: !ruby/object:Gem::Requirement
116
116
  requirements:
117
- - - '>='
117
+ - - ">="
118
118
  - !ruby/object:Gem::Version
119
119
  version: '0'
120
120
  requirements: []
121
- rubyforge_project:
122
- rubygems_version: 2.0.14.1
121
+ rubygems_version: 3.0.4
123
122
  signing_key:
124
123
  specification_version: 4
125
124
  summary: Pubsubstub is a rack middleware to add Pub/Sub