Class: Emque::Consuming::ErrorTracker
- Inherits:
-
Object
- Object
- Emque::Consuming::ErrorTracker
- Defined in:
- lib/emque/consuming/error_tracker.rb
Instance Attribute Summary collapse
-
#expiration ⇒ Object
Returns the value of attribute expiration.
-
#limit ⇒ Object
Returns the value of attribute limit.
-
#occurrences ⇒ Object
Returns the value of attribute occurrences.
Instance Method Summary collapse
- #count ⇒ Object
-
#initialize(limit: 5, expiration: 3600) ⇒ ErrorTracker
constructor
A new instance of ErrorTracker.
- #limit_reached? ⇒ Boolean
- #notice_error_for(context) ⇒ Object
Constructor Details
#initialize(limit: 5, expiration: 3600) ⇒ ErrorTracker
Returns a new instance of ErrorTracker.
8 9 10 11 12 |
# File 'lib/emque/consuming/error_tracker.rb', line 8 def initialize(limit: 5, expiration: 3600) self.limit = limit self.expiration = expiration self.occurrences = {} end |
Instance Attribute Details
#expiration ⇒ Object
Returns the value of attribute expiration.
6 7 8 |
# File 'lib/emque/consuming/error_tracker.rb', line 6 def expiration @expiration end |
#limit ⇒ Object
Returns the value of attribute limit.
6 7 8 |
# File 'lib/emque/consuming/error_tracker.rb', line 6 def limit @limit end |
#occurrences ⇒ Object
Returns the value of attribute occurrences.
6 7 8 |
# File 'lib/emque/consuming/error_tracker.rb', line 6 def occurrences @occurrences end |
Instance Method Details
#count ⇒ Object
22 23 24 |
# File 'lib/emque/consuming/error_tracker.rb', line 22 def count recent_errors.keys.count end |
#limit_reached? ⇒ Boolean
18 19 20 |
# File 'lib/emque/consuming/error_tracker.rb', line 18 def limit_reached? count >= limit end |
#notice_error_for(context) ⇒ Object
14 15 16 |
# File 'lib/emque/consuming/error_tracker.rb', line 14 def notice_error_for(context) occurrences[key_for(context)] = Time.now + expiration end |