class Naginata::CLI::RemoteAbstract

Public Class Methods

new(options = {}) click to toggle source
# File lib/naginata/cli/remote_abstract.rb, line 7
def initialize(options = {})
  @options = options
end

Public Instance Methods

configure_backend() click to toggle source
# File lib/naginata/cli/remote_abstract.rb, line 47
def configure_backend
  if @options[:dry_run]
    require 'sshkit/backends/printer'
    ::Naginata::Configuration.env.set(:sshkit_backend, SSHKit::Backend::Printer)
  end
  ::Naginata::Configuration.env.configure_backend
end
execute() click to toggle source
# File lib/naginata/cli/remote_abstract.rb, line 11
def execute
  set_custom_naginatafile
  load_configuration
  set_log_level
  set_nagios_filter
  configure_backend
  load_remote_objects
  run
end
load_configuration() click to toggle source
# File lib/naginata/cli/remote_abstract.rb, line 43
def load_configuration
  Loader.load_configuration
end
load_remote_objects() click to toggle source
# File lib/naginata/cli/remote_abstract.rb, line 55
def load_remote_objects
  Loader.load_remote_objects(@options)
end
run() click to toggle source
# File lib/naginata/cli/remote_abstract.rb, line 59
def run
  raise NotImplementedError, 'Called abstract method'
end
set_custom_naginatafile() click to toggle source
# File lib/naginata/cli/remote_abstract.rb, line 21
def set_custom_naginatafile
  if custom_path = @options[:naginatafile] || ENV['NAGINATAFILE']
    custom_path = File.expand_path(custom_path)
    raise NaginatafileNotFound, "Could not locate Naginatafile" unless File.file?(custom_path)
    ::Naginata::Configuration.env.set(:naginatafile, custom_path)
  end
end
set_log_level() click to toggle source
# File lib/naginata/cli/remote_abstract.rb, line 29
def set_log_level
  if @options[:debug]
    ::Naginata::Configuration.env.set(:log_level, :debug)
  elsif @options[:verbose]
    ::Naginata::Configuration.env.set(:log_level, :info)
  end
end
set_nagios_filter() click to toggle source
# File lib/naginata/cli/remote_abstract.rb, line 37
def set_nagios_filter
  if @options[:nagios]
    ::Naginata::Configuration.env.add_filter(:nagios_server, @options[:nagios])
  end
end