Class: David::Observe
- Inherits:
-
Object
- Object
- David::Observe
- Extended by:
- Forwardable
- Includes:
- Actor
- Defined in:
- lib/david/observe.rb
Instance Method Summary collapse
- #add(exchange, env, etag) ⇒ Object
- #delete(exchange) ⇒ Object
- #get(key) ⇒ Object
- #include?(exchange) ⇒ Boolean
-
#initialize(tick_interval = 3) ⇒ Observe
constructor
A new instance of Observe.
- #to_s ⇒ Object
Methods included from Actor
Constructor Details
#initialize(tick_interval = 3) ⇒ Observe
Returns a new instance of Observe.
9 10 11 12 13 14 15 16 |
# File 'lib/david/observe.rb', line 9 def initialize(tick_interval = 3) @tick_interval = tick_interval @store = {} async.run log.debug('Observe initialized') end |
Instance Method Details
#add(exchange, env, etag) ⇒ Object
18 19 20 21 22 23 |
# File 'lib/david/observe.rb', line 18 def add(exchange, env, etag) exchange...delete(:observe) @store[[exchange.host, exchange.token]] ||= [0, exchange, env, etag, Time.now.to_i] end |
#delete(exchange) ⇒ Object
25 26 27 |
# File 'lib/david/observe.rb', line 25 def delete(exchange) @store.delete([exchange.host, exchange.token]) end |
#get(key) ⇒ Object
29 30 31 |
# File 'lib/david/observe.rb', line 29 def get(key) @store[key] end |
#include?(exchange) ⇒ Boolean
33 34 35 |
# File 'lib/david/observe.rb', line 33 def include?(exchange) @store.include?([exchange.host, exchange.token]) end |
#to_s ⇒ Object
37 38 39 |
# File 'lib/david/observe.rb', line 37 def to_s @store.map { |k, v| [*k, v[2]['PATH_INFO'], v[0]].inspect }.join(', ') end |