heavy_keeper 0.1.0 → 0.1.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 +4 -4
- data/CHANGELOG.md +2 -1
- data/Gemfile.lock +1 -1
- data/README.md +1 -1
- data/lib/heavy_keeper/bucket.rb +2 -2
- data/lib/heavy_keeper/min_heap.rb +2 -2
- data/lib/heavy_keeper/top_k.rb +2 -2
- data/lib/heavy_keeper/version.rb +1 -1
- data/lib/heavy_keeper.rb +5 -1
- metadata +1 -2
- data/lib/heavy_keeper/config.rb +0 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3328546c158b1a8deb330d6d3183e8cb8e2b347668877db9d388eba238780a2c
|
4
|
+
data.tar.gz: e8ca56848da95baf4870c3eb909e27cb7360178255266fa14c7824852797675b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e69378054fb3851ae706dd73301be7b9d47084c6736b43709d448f343e39b0bdf45e4a68c6581d4a81c82bbdf29879e2b43edc174a7e0ee3fc5ed16bb1dbc02c
|
7
|
+
data.tar.gz: 159c0594a4756d7fa5d5616568f5e84dfcdca3a677b55903277a9af5bbaf1285bb194544d3d2b71cc36e7b71ba29d667e730c86074d0c6d67d03ebedb4f960fc
|
data/CHANGELOG.md
CHANGED
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -27,7 +27,7 @@ gem 'heavy_keeper'
|
|
27
27
|
You will need to add an initializer to provide some configuration:
|
28
28
|
|
29
29
|
```ruby
|
30
|
-
HeavyKeeper
|
30
|
+
HeavyKeeper.configure do |config|
|
31
31
|
config.cache_prefix = 'cache_prefix'.freeze # currently used as prefix for the redis data structures.
|
32
32
|
config.storage = Redis.new # a Redis store, at least version 4.0
|
33
33
|
end
|
data/lib/heavy_keeper/bucket.rb
CHANGED
@@ -6,7 +6,7 @@ require 'json'
|
|
6
6
|
# rubocop:disable Naming/MethodParameterName
|
7
7
|
module HeavyKeeper
|
8
8
|
class Bucket
|
9
|
-
def initialize(storage = HeavyKeeper
|
9
|
+
def initialize(storage = HeavyKeeper.config.storage)
|
10
10
|
@storage = storage
|
11
11
|
end
|
12
12
|
|
@@ -33,7 +33,7 @@ module HeavyKeeper
|
|
33
33
|
end
|
34
34
|
|
35
35
|
def key_prefix
|
36
|
-
"#{HeavyKeeper
|
36
|
+
"#{HeavyKeeper.config.cache_prefix}_bucket"
|
37
37
|
end
|
38
38
|
end
|
39
39
|
end
|
@@ -6,7 +6,7 @@
|
|
6
6
|
#
|
7
7
|
module HeavyKeeper
|
8
8
|
class MinHeap
|
9
|
-
def initialize(storage = HeavyKeeper
|
9
|
+
def initialize(storage = HeavyKeeper.config.storage)
|
10
10
|
@storage = storage
|
11
11
|
end
|
12
12
|
|
@@ -86,7 +86,7 @@ module HeavyKeeper
|
|
86
86
|
end
|
87
87
|
|
88
88
|
def key_prefix
|
89
|
-
"#{HeavyKeeper
|
89
|
+
"#{HeavyKeeper.config.cache_prefix}_heavy_keeper"
|
90
90
|
end
|
91
91
|
end
|
92
92
|
end
|
data/lib/heavy_keeper/top_k.rb
CHANGED
@@ -19,7 +19,7 @@ module HeavyKeeper
|
|
19
19
|
# @param storage [Redis] A Redis client to interact with Redis
|
20
20
|
#
|
21
21
|
# @return [HeavyKeeper::TopK] new instance of the controller
|
22
|
-
def initialize(storage: HeavyKeeper
|
22
|
+
def initialize(storage: HeavyKeeper.config.storage)
|
23
23
|
@storage = storage
|
24
24
|
@min_heap = MinHeap.new(storage)
|
25
25
|
@bucket = Bucket.new(storage)
|
@@ -206,7 +206,7 @@ module HeavyKeeper
|
|
206
206
|
end
|
207
207
|
|
208
208
|
def key_prefix
|
209
|
-
"#{HeavyKeeper
|
209
|
+
"#{HeavyKeeper.config.cache_prefix}_heavy_keeper"
|
210
210
|
end
|
211
211
|
|
212
212
|
def validate(options)
|
data/lib/heavy_keeper/version.rb
CHANGED
data/lib/heavy_keeper.rb
CHANGED
@@ -1,11 +1,15 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require_relative 'heavy_keeper/version'
|
4
|
-
require_relative 'heavy_keeper/config'
|
5
4
|
require_relative 'heavy_keeper/top_k'
|
6
5
|
require_relative 'heavy_keeper/min_heap'
|
7
6
|
require_relative 'heavy_keeper/bucket'
|
8
7
|
|
9
8
|
module HeavyKeeper
|
10
9
|
class Error < StandardError; end
|
10
|
+
|
11
|
+
extend Dry::Configurable
|
12
|
+
|
13
|
+
setting :cache_prefix, default: 'cache_prefix'
|
14
|
+
setting :storage
|
11
15
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: heavy_keeper
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Hieu Nguyen
|
@@ -85,7 +85,6 @@ files:
|
|
85
85
|
- heavy_keeper.gemspec
|
86
86
|
- lib/heavy_keeper.rb
|
87
87
|
- lib/heavy_keeper/bucket.rb
|
88
|
-
- lib/heavy_keeper/config.rb
|
89
88
|
- lib/heavy_keeper/min_heap.rb
|
90
89
|
- lib/heavy_keeper/top_k.rb
|
91
90
|
- lib/heavy_keeper/version.rb
|