Class: David::Observe

Inherits:
Hash
  • Object
show all
Includes:
Actor
Defined in:
lib/david/observe.rb

Instance Method Summary collapse

Methods included from Actor

included

Constructor Details

#initialize(tick_interval = 3) ⇒ Observe

Returns a new instance of Observe.



8
9
10
11
12
13
# File 'lib/david/observe.rb', line 8

def initialize(tick_interval = 3)
  @tick_interval = tick_interval
  async.run

  log.debug('Observe initialized')
end

Instance Method Details

#_deleteObject



5
# File 'lib/david/observe.rb', line 5

alias_method :_delete, :delete

#_include?Object



6
# File 'lib/david/observe.rb', line 6

alias_method :_include?, :include?

#add(exchange, env, etag) ⇒ Object



15
16
17
18
19
20
# File 'lib/david/observe.rb', line 15

def add(exchange, env, etag)
  exchange.message.options.delete(:observe)

  self[[exchange.host, exchange.token]] ||=
    [0, exchange, env, etag, Time.now.to_i]
end

#delete(exchange) ⇒ Object



22
23
24
# File 'lib/david/observe.rb', line 22

def delete(exchange)
  _delete([exchange.host, exchange.token])
end

#include?(exchange) ⇒ Boolean

Returns:

  • (Boolean)


26
27
28
# File 'lib/david/observe.rb', line 26

def include?(exchange)
  _include?([exchange.host, exchange.token])
end

#to_sObject



30
31
32
# File 'lib/david/observe.rb', line 30

def to_s
  self.map { |k, v| [*k, v[2]['PATH_INFO'], v[0]].inspect }.join(', ')
end