Class: LinuxAdmin::TimeDate

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

Constant Summary collapse

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

Class Method Summary collapse

Class Method Details

.system_time=(time) ⇒ Object



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

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

.system_timezoneObject



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

def self.system_timezone
  system_timezone_detailed.split[0]
end

.system_timezone=(zone) ⇒ Object



31
32
33
34
35
# File 'lib/linux_admin/time_date.rb', line 31

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

.system_timezone_detailedObject



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

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

.timezonesObject



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

def self.timezones
  result = Common.run!(Common.cmd(COMMAND), :params => ["list-timezones"])
  result.output.split("\n")
rescue AwesomeSpawn::CommandResultError => e
  raise TimeCommandError, e.message
end