random-port 0.5.0 → 0.5.1

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
  SHA256:
3
- metadata.gz: f52b8bc7d8b8a31486ae04316b4c91491de3df9b617d8c3ef293e6b889edd4b4
4
- data.tar.gz: 98f9ac9302aa206669e4a73f19ab0d32e4cec55312214934fd25059e76a25726
3
+ metadata.gz: a0eff0b3b8395e2d245b309a7a15dd27362f0d983ce3b91587b66119a4e68a3f
4
+ data.tar.gz: af26bb1c3daecaf2260fb2601870f2c4c2386f3359be714071c5790e90fad0ee
5
5
  SHA512:
6
- metadata.gz: c0586b04575f809747b52719f9e614b982d4bbd9960c0b81f426827b6ceafff8b8d9539bad2882e7f3254cf743bf4d4c65aea7cd515ab0033eafc2bcf26ed301
7
- data.tar.gz: 6b73af33efeb0b03a691e5113e7611d20f6b9e2597b0ff7431e2bfdb5498a1a5e30efc250fbebcf98e07046008d4b06a2e64340429f1960abcabd6305a014ce2
6
+ metadata.gz: 4d25042a756ac83966d45085888b26c5fe95f3960967320d6a9e81ed9900f72769f745f4032320487e35c9d31d029250d1358425bffda91562372bc499c4fc52
7
+ data.tar.gz: 503e22ad9b530666b290506936f20aeb69b5273a1ac36f550b9bd5cbd2c22ab0b593c50bd0005dab250a20040058080903894e1353a5e1323784f2a162f12d1b
@@ -65,6 +65,7 @@ module RandomPort
65
65
  def count
66
66
  @ports.count
67
67
  end
68
+ alias size count
68
69
 
69
70
  # Is it empty?
70
71
  def empty?
@@ -107,7 +108,7 @@ for #{total} port(s), in #{format('%.02f', Time.now - start)}s"
107
108
  begin
108
109
  return yield opts
109
110
  ensure
110
- safe { @ports.delete(opts) }
111
+ release(opts)
111
112
  end
112
113
  end
113
114
  end
@@ -31,7 +31,7 @@ Gem::Specification.new do |s|
31
31
  s.rubygems_version = '2.3.3'
32
32
  s.required_ruby_version = '>=2.3'
33
33
  s.name = 'random-port'
34
- s.version = '0.5.0'
34
+ s.version = '0.5.1'
35
35
  s.license = 'MIT'
36
36
  s.summary = 'Random TCP port'
37
37
  s.description = 'Reserves a random TCP port'
@@ -40,10 +40,24 @@ module RandomPort
40
40
  end
41
41
 
42
42
  def test_acquires_and_releases_three_ports
43
- pool = Pool.new
43
+ pool = Pool.new(limit: 3)
44
+ assert_equal(0, pool.size)
44
45
  ports = pool.acquire(3, timeout: 16)
46
+ assert_equal(3, pool.size)
45
47
  assert_equal(3, ports.count)
46
48
  pool.release(ports)
49
+ assert_equal(0, pool.size)
50
+ end
51
+
52
+ def test_acquires_and_releases_three_ports_in_block
53
+ pool = Pool.new(limit: 3)
54
+ assert_equal(0, pool.size)
55
+ pool.acquire(3, timeout: 16) do |ports|
56
+ assert(ports.is_a?(Array))
57
+ assert_equal(3, ports.count)
58
+ assert_equal(3, pool.size)
59
+ end
60
+ assert_equal(0, pool.size)
47
61
  end
48
62
 
49
63
  def test_acquires_and_releases_in_block
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: random-port
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.5.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yegor Bugayenko