Module: Chicanery::Sites

Includes:
Handlers
Included in:
Chicanery
Defined in:
lib/chicanery/sites.rb

Instance Method Summary collapse

Methods included from Debug

#verbose, #verbose_blue

Instance Method Details

#check_sites(current_state, previous_state) ⇒ Object



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/chicanery/sites.rb', line 16

def check_sites current_state, previous_state
  current_state[:sites] = {}
  sites.each do |site|
    begin
      content = site.get
      current_state[:sites][site.name] = :up
      notify_up_handlers site.name, site
      notify_recovered_handlers site.name, site if previous_state && previous_state[:sites] && previous_state[:sites][site.name] == :down
    rescue Exception
      current_state[:sites][site.name] = :down
      notify_down_handlers site.name, site
      notify_crashed_handlers site.name, site if previous_state && previous_state[:sites] && previous_state[:sites][site.name] == :up
    end
  end
end

#site(*args) ⇒ Object



12
13
14
# File 'lib/chicanery/sites.rb', line 12

def site *args
  sites << Chicanery::Site.new(*args)
end

#sitesObject



8
9
10
# File 'lib/chicanery/sites.rb', line 8

def sites
  @sites ||= []
end