class Sysrc

bindings for sysrc

Public Class Methods

execute(command) click to toggle source
# File lib/jailofficer/sysrc.rb, line 22
def self.execute(command)
  shell_env = 'LANG=C'
  cmd = "#{shell_env} #{command}"
  stdout, _stderr, status = Open3.capture3(cmd)
  [stdout, status.exitstatus.zero?]
end
get(key) click to toggle source
# File lib/jailofficer/sysrc.rb, line 16
def self.get(key)
  cmd = format('sysrc %<k>s', { k: key })
  output, _status = execute(cmd)
  output.chop.split.drop(1)
end
set(key, operation, value) click to toggle source
# File lib/jailofficer/sysrc.rb, line 8
def self.set(key, operation, value)
  raise unless ['=', '+=', '-='].include? operation

  cmd = format('sysrc %<k>s%<o>s%<v>s', { k: key, o: operation, v: value })
  _output, status = execute(cmd)
  status
end