prop 2.6.1 → 2.7.0

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: 60b48468b9c5534cee9d099071a9e4ae37b2814dc288992bc78a25be9b06ee82
4
- data.tar.gz: 3b8e2fc1467ba11d927ae25af4cc4a2212ca26f3322ea44041c7d0d69775d542
3
+ metadata.gz: f8d392029c77c453e5fc0d6a82fcb8401dc3ebabb01586b15bca7ab961df2d8f
4
+ data.tar.gz: ba93851562644df3cfea26c2d41d4e49fe52e4f7d5ca614313ab6cbd911c1293
5
5
  SHA512:
6
- metadata.gz: 2d73b4e8d4a26706d927a813258f4574dc1d0c8d015d57fd0d53db04178c4980734eec068bc7f2bcbd64c397883693423ad084fbb5b42a853df47b9832c1201b
7
- data.tar.gz: fed829113d63fa7277efc8bc292e2392d7966730e46e01b5931c9b4c4374f86e923cf820fc1b8ad80fda972566602b3c86a0b9c1875dd5d1cbcbe4c63288cb02
6
+ metadata.gz: d41e52e89027cba93e67df82d5b65f654921c8c8c1b109e6eb6653f01d9a20fe493a9975fec89d817b886a25a3871a468a83ea3270fc94c94e2503905a04e772
7
+ data.tar.gz: f4024c8ae24cbca19eeade5491532e26ee270428a048a135c62ff43ffcbe7df4770bb1babb6424fc5b2c92634326162fa732be7aa548867dfcf66773a992ad63
data/README.md CHANGED
@@ -1,5 +1,5 @@
1
1
 
2
- # Prop [![Build Status](https://travis-ci.org/zendesk/prop.png)](https://travis-ci.org/zendesk/prop)
2
+ # Prop ![Build status](https://github.com/zendesk/prop/workflows/ci/badge.svg)
3
3
 
4
4
  A gem to rate limit requests/actions of any kind.<br/>
5
5
  Define thresholds, register usage and finally act on exceptions once thresholds get exceeded.
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
  module Prop
3
3
  class RateLimited < StandardError
4
- attr_accessor :handle, :cache_key, :retry_after, :description, :first_throttled
4
+ attr_accessor :handle, :cache_key, :retry_after, :description, :first_throttled, :threshold
5
5
 
6
6
  def initialize(options)
7
7
  self.handle = options.fetch(:handle)
@@ -12,6 +12,8 @@ module Prop
12
12
  interval = options.fetch(:interval).to_i
13
13
  self.retry_after = interval - Time.now.to_i % interval
14
14
 
15
+ self.threshold = options.fetch(:threshold)
16
+
15
17
  super(options.fetch(:strategy).threshold_reached(options))
16
18
  end
17
19
 
data/lib/prop.rb CHANGED
@@ -3,7 +3,7 @@ require "prop/limiter"
3
3
  require "forwardable"
4
4
 
5
5
  module Prop
6
- VERSION = "2.6.1"
6
+ VERSION = "2.7.0"
7
7
 
8
8
  # Short hand for accessing Prop::Limiter methods
9
9
  class << self
metadata CHANGED
@@ -1,85 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: prop
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.6.1
4
+ version: 2.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Morten Primdahl
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-08-20 00:00:00.000000000 Z
12
- dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: rake
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - ">="
18
- - !ruby/object:Gem::Version
19
- version: '0'
20
- type: :development
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - ">="
25
- - !ruby/object:Gem::Version
26
- version: '0'
27
- - !ruby/object:Gem::Dependency
28
- name: maxitest
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: '0'
34
- type: :development
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - ">="
39
- - !ruby/object:Gem::Version
40
- version: '0'
41
- - !ruby/object:Gem::Dependency
42
- name: mocha
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - ">="
46
- - !ruby/object:Gem::Version
47
- version: '0'
48
- type: :development
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - ">="
53
- - !ruby/object:Gem::Version
54
- version: '0'
55
- - !ruby/object:Gem::Dependency
56
- name: activesupport
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - ">="
60
- - !ruby/object:Gem::Version
61
- version: '0'
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - ">="
67
- - !ruby/object:Gem::Version
68
- version: '0'
69
- - !ruby/object:Gem::Dependency
70
- name: bump
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - ">="
74
- - !ruby/object:Gem::Version
75
- version: '0'
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - ">="
81
- - !ruby/object:Gem::Version
82
- version: '0'
11
+ date: 2022-10-14 00:00:00.000000000 Z
12
+ dependencies: []
83
13
  description:
84
14
  email: primdahl@me.com
85
15
  executables: []
@@ -115,7 +45,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
115
45
  - !ruby/object:Gem::Version
116
46
  version: '0'
117
47
  requirements: []
118
- rubygems_version: 3.1.6
48
+ rubygems_version: 3.0.3.1
119
49
  signing_key:
120
50
  specification_version: 4
121
51
  summary: Gem for implementing rate limits.