ruby_rate_limiter 0.1.1 → 2.0.0

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: 6d487b84e9e255e4a2fe403fc98961ee09083d7be86a5bc929e9a106e9455b87
4
- data.tar.gz: 28bf084c36db3488761ef6ff9014a0a79743a23c78d1085e55188a2d09262217
3
+ metadata.gz: b56de2a59f050c7b8a8096f2d2557b5282dcda5d85364193f6c199d4bbee7720
4
+ data.tar.gz: 66b292d959e2b2436080d726c84b218dbf6a3a53eabd78bafd4b2951ad0d04cb
5
5
  SHA512:
6
- metadata.gz: 1ece0c93d76158c3192290bb0eecbcfe09b82b71e23035b8a6616967a3fddd2af174956d72edde13fb9df3bc00fd579d8195c2115ca8586f51dbad0a8771e03d
7
- data.tar.gz: ac79381bda71677bd9a0fed4935f3d167b1a840f51ef4656df951c2563a0fe4f81d561cd4d61c5420a13ef375672c596a05baf258dfab1bda3205f91446cf711
6
+ metadata.gz: 1b375751848ee9148b9b4e17ad1f7438eabe637ce7a18b4db17975110f36a9a7999566c4be3a9389833bfce3ecae59f68b36ecfc8cf5e8671bbd1847e9b23367
7
+ data.tar.gz: e99dfa9eb9381db0fb16405feb2af5c99d16383dadd8f70b11456d924d948263227042513376d5b6a6977b8308ff849d4a5874743ea838847c4914e50e5f1c99
@@ -9,13 +9,18 @@ module RubyRateLimiter
9
9
 
10
10
  DEFAULT_BUCKET_SIZE = 10
11
11
  DEFAULT_REFILL_RATE = 1
12
+ TIME_UNITS = {
13
+ second: 1,
14
+ minute: 60,
15
+ hour: 3600
16
+ }.freeze
12
17
 
13
18
  def_delegators :@storage, :get, :set
14
19
 
15
- def initialize(user_id, bucket_size: DEFAULT_BUCKET_SIZE, refill_rate: DEFAULT_REFILL_RATE, storage: RateLimiter::Storage::RedisStorage.new)
20
+ def initialize(user_id, bucket_size: DEFAULT_BUCKET_SIZE, refill_rate: DEFAULT_REFILL_RATE, time_unit: :second, storage: RubyRateLimiter::Storage::RedisStorage.new)
16
21
  @user_id = user_id
17
22
  @bucket_size = bucket_size
18
- @refill_rate = refill_rate
23
+ @refill_rate = refill_rate * TIME_UNITS[time_unit]
19
24
  @storage = storage
20
25
  end
21
26
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RateLimiter
4
- VERSION = "0.1.1"
4
+ VERSION = "2.0.0"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby_rate_limiter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mutuba