Class: Naginata::CLI::RemoteAbstract

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

Direct Known Subclasses

Fetch, Hosts, LocalAbstract, Notification, Services

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ RemoteAbstract

Returns a new instance of RemoteAbstract.



7
8
9
# File 'lib/naginata/cli/remote_abstract.rb', line 7

def initialize(options = {})
  @options = options
end

Instance Method Details

#configure_backendObject



38
39
40
41
42
43
44
# File 'lib/naginata/cli/remote_abstract.rb', line 38

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

#executeObject



11
12
13
14
15
16
17
18
# File 'lib/naginata/cli/remote_abstract.rb', line 11

def execute
  load_configuration
  set_log_level
  set_nagios_filter
  configure_backend
  load_remote_objects
  run
end

#load_configurationObject



34
35
36
# File 'lib/naginata/cli/remote_abstract.rb', line 34

def load_configuration
  Loader.load_configuration
end

#load_remote_objectsObject



46
47
48
# File 'lib/naginata/cli/remote_abstract.rb', line 46

def load_remote_objects
  Loader.load_remote_objects(@options)
end

#runObject

Raises:

  • (NotImplementedError)


50
51
52
# File 'lib/naginata/cli/remote_abstract.rb', line 50

def run
  raise NotImplementedError, 'Called abstract method'
end

#set_log_levelObject



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

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_filterObject



28
29
30
31
32
# File 'lib/naginata/cli/remote_abstract.rb', line 28

def set_nagios_filter
  if @options[:nagios]
    ::Naginata::Configuration.env.add_filter(:nagios_server, @options[:nagios])
  end
end