Class: LinuxAdmin::TimeDate

Inherits:
Object
  • Object
show all
Extended by:
Common
Defined in:
lib/linux_admin/time_date.rb

Constant Summary collapse

COMMAND =
'timedatectl'
TimeCommandError =
Class.new(StandardError)

Constants included from Common

Common::BIN_DIRS

Class Method Summary collapse

Methods included from Common

cmd, cmd?, run, run!

Class Method Details

.system_time=(time) ⇒ Object



19
20
21
22
23
# File 'lib/linux_admin/time_date.rb', line 19

def self.system_time=(time)
  run!(cmd(COMMAND), :params => ["set-time", "#{time.strftime("%F %T")}", :adjust_system_clock])
rescue AwesomeSpawn::CommandResultError => e
  raise TimeCommandError, e.message
end

.system_timezoneObject



15
16
17
# File 'lib/linux_admin/time_date.rb', line 15

def self.system_timezone
  system_timezone_detailed.split[0]
end

.system_timezone=(zone) ⇒ Object



25
26
27
28
29
# File 'lib/linux_admin/time_date.rb', line 25

def self.system_timezone=(zone)
  run!(cmd(COMMAND), :params => ["set-timezone", zone])
rescue AwesomeSpawn::CommandResultError => e
  raise TimeCommandError, e.message
end

.system_timezone_detailedObject



8
9
10
11
12
13
# File 'lib/linux_admin/time_date.rb', line 8

def self.system_timezone_detailed
  result = run(cmd(COMMAND), :params => ["status"])
  result.output.split("\n").each do |l|
    return l.split(':')[1].strip if l =~ /Time.*zone/
  end
end