Module: LinuxAdmin::Common

Included in:
LinuxAdmin, LinuxAdmin
Defined in:
lib/linux_admin/common.rb

Instance Method Summary collapse

Instance Method Details

#cmd(cmd) ⇒ Object



5
6
7
# File 'lib/linux_admin/common.rb', line 5

def cmd(cmd)
  Distro.local.class::COMMANDS[cmd]
end

#run(cmd, options = {}) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/linux_admin/common.rb', line 9

def run(cmd, options = {})
  params = options[:params] || options[:parameters]

  begin
    launch_params = {}
    launch_params[:chdir] = options[:chdir] if options[:chdir]
    out = launch(build_cmd(cmd, params), launch_params)

    if options[:return_output] && exitstatus == 0
      out
    elsif options[:return_exitstatus] || exitstatus == 0
      exitstatus
    else
      raise CommandError, "#{build_cmd(cmd, params)}: exit code: #{exitstatus}"
    end
  rescue
    return nil if options[:return_exitstatus]
    raise
  ensure
    self.exitstatus = nil
  end
end