prop 2.6.1 → 2.7.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: 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.