Class: VagrantPlugins::TimeZone::Cap::Linux
- Inherits:
-
Object
- Object
- VagrantPlugins::TimeZone::Cap::Linux
- Defined in:
- lib/vagrant-timezone/cap/linux.rb
Overview
Generic Linix capability for changing time zone
Class Method Summary collapse
-
.change_timezone(machine, timezone) ⇒ Object
Set the time zone.
-
.change_timezone_generic(machine, timezone) ⇒ Object
Set the time zone if ‘timedatectl` is not found.
- .change_timezone_timedatectl(machine, timezone) ⇒ Object
- .timedatectl?(machine) ⇒ Boolean
Class Method Details
.change_timezone(machine, timezone) ⇒ Object
Set the time zone. Uses ‘timedatectl` if found.
10 11 12 13 14 15 16 |
# File 'lib/vagrant-timezone/cap/linux.rb', line 10 def self.change_timezone(machine, timezone) if timedatectl?(machine) change_timezone_timedatectl(machine, timezone) else change_timezone_generic(machine, timezone) end end |
.change_timezone_generic(machine, timezone) ⇒ Object
Set the time zone if ‘timedatectl` is not found. Defaults to `Unix.change_timezone`, but is overridden by distro specific classes.
29 30 31 |
# File 'lib/vagrant-timezone/cap/linux.rb', line 29 def self.change_timezone_generic(machine, timezone) Unix.change_timezone(machine, timezone) end |
.change_timezone_timedatectl(machine, timezone) ⇒ Object
22 23 24 |
# File 'lib/vagrant-timezone/cap/linux.rb', line 22 def self.change_timezone_timedatectl(machine, timezone) machine.communicate.sudo("timedatectl set-timezone '#{timezone}'") end |
.timedatectl?(machine) ⇒ Boolean
18 19 20 |
# File 'lib/vagrant-timezone/cap/linux.rb', line 18 def self.timedatectl?(machine) machine.communicate.test('which timedatectl', sudo: true) end |