upfluence-utils 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
  SHA1:
3
- metadata.gz: c148d5d8756d1d0eefd36e85cba488b5df5e846d
4
- data.tar.gz: f6b03fef67c6c7735670556db8a3f09e6759f54f
3
+ metadata.gz: a61bc40a56614b16ca62ec6eeeac95a157d9e1b9
4
+ data.tar.gz: 7f732111b80c7bec627ab96a2a49449b66adc2c8
5
5
  SHA512:
6
- metadata.gz: 18b5549fd9a5069213fe0c1276f75a17e46d5a8b6e416d2abf25b1779d3b6cca79c8088f8d8b4f841e662797431071f6d771dd620d0220b1c323ddba121b4ca3
7
- data.tar.gz: 1af342090c2066769a63e774518b66cdd498196012c404e3bb8077ea38df407a8a4d0fc6ea71d0059678081015aec0d90ef0a5ab968c23a4978117d24a4b38ba
6
+ metadata.gz: a176fde5bd46b36baa492dbfa9f17a461e34d57bf9d3573c546242eafbe2fa5d9b620cc06b046b72f467e346d79aaa68eea247f0b9cd3a1aefa93ce8327fb596
7
+ data.tar.gz: 19df2c5d964303de32bdc5919707246020edf8ddb71634463cecd662f1e540325cdf663fca6c7a6e1efb19086d9dbec7c8dbccd7a22a6cc37e61115d0359e342
@@ -23,18 +23,15 @@ module Upfluence
23
23
 
24
24
  def discard(obj)
25
25
  @mutex.synchronize do
26
- raise UnknownResource unless @redeemed.include? obj
27
-
28
- @redeemed.reject! { |e| e == obj }
26
+ remove_from_redeemed obj
29
27
  @resource.broadcast
30
28
  end
31
29
  end
32
30
 
33
31
  def push(obj)
34
32
  @mutex.synchronize do
35
- raise UnknownResource unless @redeemed.include? obj
33
+ remove_from_redeemed obj
36
34
 
37
- @redeemed.reject! { |e| e == obj }
38
35
  @que.push obj
39
36
  @resource.broadcast
40
37
  end
@@ -46,7 +43,11 @@ module Upfluence
46
43
 
47
44
  @mutex.synchronize do
48
45
  loop do
49
- return @que.pop unless @que.empty?
46
+ unless @que.empty?
47
+ object = @que.pop
48
+ @redeemed << object
49
+ object
50
+ end
50
51
 
51
52
  connection = try_create(options)
52
53
  return connection if connection
@@ -68,12 +69,20 @@ module Upfluence
68
69
 
69
70
  private
70
71
 
71
- def try_create(_options = nil)
72
- unless @redeemed.length >= @max
73
- object = @create_block.call
74
- @redeemed << object
75
- object
72
+ def remove_from_redeemed(obj)
73
+ unless @redeemed.map(&:object_id).include? obj.object_id
74
+ raise UnknownResource
76
75
  end
76
+
77
+ @redeemed.reject! { |e| e.object_id == obj.object_id }
78
+ end
79
+
80
+ def try_create(_options = nil)
81
+ ureturn if @redeemed.length >= @max
82
+
83
+ object = @create_block.call
84
+ @redeemed << object
85
+ object
77
86
  end
78
87
  end
79
88
  end
@@ -1,5 +1,5 @@
1
1
  module Upfluence
2
2
  module Utils
3
- VERSION = '0.5.0'.freeze
3
+ VERSION = '0.5.1'.freeze
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: upfluence-utils
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
  - Upfluence