semian 0.10.0 → 0.10.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: bdff6d43d1dfd0788850d7c003af564610b347a040cdfe1730d2cbcdc279e000
4
- data.tar.gz: f4c2746c0d41cc91d06f1f1cc702bfd1e2a3e33b8848fd875d8361785c639b75
3
+ metadata.gz: 36febd25cb5eb31a718290a1a0a7e459357b38465d4ec85711f90ea479341eb8
4
+ data.tar.gz: b77a33d7e59940c87f44d85fe6e5deb15a74befc5ca678a643fcea85fa0fdcdb
5
5
  SHA512:
6
- metadata.gz: b20d975e290f6597150b89b68f94f1cbb213f3b021a7d187151bdb412f548708bc9744c05065a8e541ecb3300ad34d91062c10a0ae6395bcbca82a7093f8ef93
7
- data.tar.gz: 4f18b1d5f771e49b8567387daeabce1e84f838f4bfd00ccf0e00f4602557f93b5ced88c675f1e210209fcc847de08eb9a9f5f603b74fea8ab9473b442d3e4452
6
+ metadata.gz: 0ad770b1ee2e73b60fec5a14928a0d580f84c6a824b98cf3ccaa298aa5048c60da4ec86d76c11a302a0188e66e1cbfacc98845ff10b49caaa1512ff0878a4db1
7
+ data.tar.gz: a176783ad0297ced3e36df28e93a005d55f9127bfca2e1fd11f281a853b098bb6eb9836ae63e7bb4ed998b1285ff7138d2993f432a2300a6cbb675c180d73847
@@ -5,10 +5,6 @@ class LRUHash
5
5
  # everytime we set a new resource. A default window of
6
6
  # 5 minutes will allow empty item to stay in the hash
7
7
  # for a maximum of 5 minutes
8
- extend Forwardable
9
- def_delegators :@table, :size, :count, :empty?, :values
10
- attr_reader :table
11
-
12
8
  class NoopMutex
13
9
  def synchronize(*)
14
10
  yield
@@ -65,6 +61,22 @@ class LRUHash
65
61
  end
66
62
  end
67
63
 
64
+ def size
65
+ @lock.synchronize { @table.size }
66
+ end
67
+
68
+ def count(&block)
69
+ @lock.synchronize { @table.count(&block) }
70
+ end
71
+
72
+ def empty?
73
+ @lock.synchronize { @table.empty? }
74
+ end
75
+
76
+ def values
77
+ @lock.synchronize { @table.values }
78
+ end
79
+
68
80
  def set(key, resource)
69
81
  @lock.synchronize do
70
82
  @table.delete(key)
@@ -1,3 +1,3 @@
1
1
  module Semian
2
- VERSION = '0.10.0'
2
+ VERSION = '0.10.1'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: semian
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.0
4
+ version: 0.10.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Scott Francis
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2019-12-05 00:00:00.000000000 Z
13
+ date: 2020-03-31 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rake-compiler
@@ -234,7 +234,8 @@ files:
234
234
  homepage: https://github.com/shopify/semian
235
235
  licenses:
236
236
  - MIT
237
- metadata: {}
237
+ metadata:
238
+ allowed_push_host: https://rubygems.org
238
239
  post_install_message:
239
240
  rdoc_options: []
240
241
  require_paths: