semian 0.10.0 → 0.10.1

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