class Naginata::Configuration
Public Class Methods
env()
click to toggle source
# File lib/naginata/configuration.rb, line 12 def self.env @env ||= new end
new(config = nil)
click to toggle source
# File lib/naginata/configuration.rb, line 8 def initialize(config = nil) @config ||= config end
Public Instance Methods
add_filter(type, values)
click to toggle source
# File lib/naginata/configuration.rb, line 52 def add_filter(type, values) filters << Filter.new(type, values) end
backend()
click to toggle source
# File lib/naginata/configuration.rb, line 72 def backend SSHKit end
configure_backend()
click to toggle source
# File lib/naginata/configuration.rb, line 76 def configure_backend backend.configure do |sshkit| sshkit.format = fetch(:format) sshkit.output_verbosity = fetch(:log_level) sshkit.backend = fetch(:sshkit_backend, SSHKit::Backend::Netssh) sshkit.backend.configure do |backend| backend.pty = fetch(:pty) backend.ssh_options = (backend.ssh_options || {}).merge(fetch(:ssh_options,{})) end end end
fetch(key, default=nil, &block)
click to toggle source
# File lib/naginata/configuration.rb, line 24 def fetch(key, default=nil, &block) if block_given? config.fetch(key, &block) else config.fetch(key, default) end end
filter(list)
click to toggle source
# File lib/naginata/configuration.rb, line 56 def filter list filters.reduce(list) { |l,f| f.filter l } end
filter_service(list)
click to toggle source
# File lib/naginata/configuration.rb, line 60 def filter_service list filters.reduce(list) { |l,f| f.filter_service l } end
host(host, options = {})
click to toggle source
# File lib/naginata/configuration.rb, line 41 def host(host, options = {}) ArgumentError "on: is required option" unless options[:on] nagios = options[:on] services << Host.new(host, on: nagios) Array(options[:services]).each { |s| services << Service.new(s, host: host, on: nagios) } end
keys()
click to toggle source
# File lib/naginata/configuration.rb, line 32 def keys config.keys end
nagios_server(name)
click to toggle source
@ToDo second argment for server specific options
# File lib/naginata/configuration.rb, line 37 def nagios_server(name) nagios_servers << NagiosServer.new(name) end
nagios_servers()
click to toggle source
# File lib/naginata/configuration.rb, line 64 def nagios_servers @nagios_servers ||= [] end
services()
click to toggle source
# File lib/naginata/configuration.rb, line 68 def services @services ||= [] end
set(key, value)
click to toggle source
# File lib/naginata/configuration.rb, line 16 def set(key, value) config[key] = value end
set_if_empty(key, value)
click to toggle source
# File lib/naginata/configuration.rb, line 20 def set_if_empty(key, value) config[key] = value unless config.has_key? key end
timestamp()
click to toggle source
# File lib/naginata/configuration.rb, line 48 def timestamp @timestamp ||= Time.now.utc end
Private Instance Methods
config()
click to toggle source
# File lib/naginata/configuration.rb, line 95 def config @config ||= Hash.new end
filters()
click to toggle source
# File lib/naginata/configuration.rb, line 91 def filters @filters ||= [] end