Class: Emque::Consuming::ErrorTracker

Inherits:
Object
  • Object
show all
Defined in:
lib/emque/consuming/error_tracker.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

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

#expirationObject

Returns the value of attribute expiration.



6
7
8
# File 'lib/emque/consuming/error_tracker.rb', line 6

def expiration
  @expiration
end

#limitObject

Returns the value of attribute limit.



6
7
8
# File 'lib/emque/consuming/error_tracker.rb', line 6

def limit
  @limit
end

#occurrencesObject

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

#countObject



22
23
24
# File 'lib/emque/consuming/error_tracker.rb', line 22

def count
  recent_errors.keys.count
end

#limit_reached?Boolean

Returns:

  • (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