Class: Naginata::Runner

Inherits:
Object
  • Object
show all
Defined in:
lib/naginata/runner.rb

Class Method Summary collapse

Class Method Details

.run(&block) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/naginata/runner.rb', line 7

def self.run(&block)
  nagios_servers = Configuration.env.filter(Configuration.env.nagios_servers)
  services = Configuration.env.filter_service(Configuration.env.services)
  user = Configuration.env.fetch(:nagios_server_options)[:run_command_as]

  run_backend(nagios_servers) do |nagios_server|
    svcs = Configuration::Filter.new(:nagios_server, nagios_server).filter_service(services)
    as(user) do
      yield self, nagios_server, svcs
    end
  end
end

.run_locally(&block) ⇒ Object



20
21
22
23
24
25
26
27
# File 'lib/naginata/runner.rb', line 20

def self.run_locally(&block)
  nagios_servers = Configuration.env.filter(Configuration.env.nagios_servers)
  services = Configuration.env.filter_service(Configuration.env.services)
  nagios_servers.each do  |nagios_server|
    svcs = Configuration::Filter.new(:nagios_server, nagios_server).filter_service(services)
    yield nagios_server, svcs
  end
end