ratelimit-ruby 0.1.2 → 0.1.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/VERSION +1 -1
- data/lib/ratelimit-ruby.rb +15 -7
- data/ratelimit-ruby.gemspec +3 -3
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 62a8691b15825c4fda93b482d2cb590ab8e49ceb
|
4
|
+
data.tar.gz: c6023d1fbeb155ae6ec9f5a748c9e8a9be598445
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b93208de32d63e81ee581c3cb90a97b7637d2a9ced00cf75e8be890ef2999637fa850d8de91ba03d7c50e7c36bb2f15451a27ce3c7d4d7662b8e9768b6ad56bd
|
7
|
+
data.tar.gz: d628b0e0994b06935543c69333b714acc1a1dacfe451c4e65231f8656b0dd7da0c1e934ae3da5bfce6b135199e1dbc87ce99d0f7349e51397aaa025fbcbadc05
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.3
|
data/lib/ratelimit-ruby.rb
CHANGED
@@ -27,20 +27,22 @@ module RateLimit
|
|
27
27
|
end
|
28
28
|
|
29
29
|
|
30
|
-
def
|
31
|
-
|
30
|
+
def create_returnable_limit(group, total_tokens, seconds_to_refill_one_token)
|
31
|
+
upsert_returnable_limit(group, total_tokens, seconds_to_refill_one_token, method: :post)
|
32
32
|
end
|
33
33
|
|
34
|
-
def
|
35
|
-
recharge_rate = (24*60*60)/
|
34
|
+
def upsert_returnable_limit(group, total_tokens, seconds_to_refill_one_token, method: :put)
|
35
|
+
recharge_rate = (24*60*60)/seconds_to_refill_one_token
|
36
36
|
recharge_policy = DAILY_ROLLING
|
37
|
-
upsert(LimitDefinition.new(group, recharge_rate, recharge_policy, true,
|
37
|
+
upsert(LimitDefinition.new(group, recharge_rate, recharge_policy, true, total_tokens), method)
|
38
38
|
end
|
39
39
|
|
40
|
+
# create only. does not overwrite if it already exists
|
40
41
|
def create_limit(group, limit, policy, burst: nil)
|
41
42
|
upsert(LimitDefinition.new(group, limit, policy, false, burst || limit), :post)
|
42
43
|
end
|
43
44
|
|
45
|
+
# upsert. overwrite whatever is there
|
44
46
|
def upsert_limit(group, limit, policy, burst: nil)
|
45
47
|
upsert(LimitDefinition.new(group, limit, policy, false, burst || limit), :put)
|
46
48
|
end
|
@@ -78,7 +80,7 @@ module RateLimit
|
|
78
80
|
|
79
81
|
|
80
82
|
def return(limit_result)
|
81
|
-
@conn.post '/api/v1/limitreturn',
|
83
|
+
result = @conn.post '/api/v1/limitreturn',
|
82
84
|
{ enforcedGroup: limit_result.enforcedGroup,
|
83
85
|
amount: limit_result.amount }.to_json
|
84
86
|
handle_failure(result) unless result.success?
|
@@ -95,7 +97,13 @@ module RateLimit
|
|
95
97
|
policyName: limit_definition.policy,
|
96
98
|
returnable: limit_definition.returnable }.to_json
|
97
99
|
result= @conn.send(method, '/api/v1/limits', to_send)
|
98
|
-
|
100
|
+
if !result.success?
|
101
|
+
if method == :put
|
102
|
+
handle_failure(result)
|
103
|
+
elsif result.status != 409 # conflicts routinely expected on create
|
104
|
+
handle_failure(result)
|
105
|
+
end
|
106
|
+
end
|
99
107
|
rescue => e
|
100
108
|
handle_error(e)
|
101
109
|
end
|
data/ratelimit-ruby.gemspec
CHANGED
@@ -2,16 +2,16 @@
|
|
2
2
|
# DO NOT EDIT THIS FILE DIRECTLY
|
3
3
|
# Instead, edit Juwelier::Tasks in Rakefile, and run 'rake gemspec'
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
|
-
# stub: ratelimit-ruby 0.1.
|
5
|
+
# stub: ratelimit-ruby 0.1.3 ruby lib
|
6
6
|
|
7
7
|
Gem::Specification.new do |s|
|
8
8
|
s.name = "ratelimit-ruby"
|
9
|
-
s.version = "0.1.
|
9
|
+
s.version = "0.1.3"
|
10
10
|
|
11
11
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
12
12
|
s.require_paths = ["lib"]
|
13
13
|
s.authors = ["Jeff Dwyer"]
|
14
|
-
s.date = "
|
14
|
+
s.date = "2017-01-16"
|
15
15
|
s.description = "rate limit your ruby"
|
16
16
|
s.email = "jdwyah@gmail.com"
|
17
17
|
s.extra_rdoc_files = [
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ratelimit-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jeff Dwyer
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2017-01-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|