Sha256: 44a3f5fb6e00c789584ca538b5d4fbe66d890e35167320b901be510ea726c3ba

Contents?: true

Size: 754 Bytes

Versions: 13

Compression:

Stored size: 754 Bytes

Contents

module LinuxAdmin
  class Chrony
    SERVICE_NAME = "chronyd".freeze

    def initialize(conf = "/etc/chrony.conf")
      raise MissingConfigurationFileError, "#{conf} does not exist" unless File.exist?(conf)
      @conf = conf
    end

    def clear_servers
      data = File.read(@conf)
      data.gsub!(/^server\s+.+\n/, "")
      File.write(@conf, data)
    end

    def add_servers(*servers)
      data = File.read(@conf)
      data << "\n" unless data.end_with?("\n")
      servers.each { |s| data << "server #{s} iburst\n" }
      File.write(@conf, data)
      restart_service_if_running
    end

    private

    def restart_service_if_running
      service = Service.new(SERVICE_NAME)
      service.restart if service.running?
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
linux_admin-2.0.0 lib/linux_admin/chrony.rb
linux_admin-1.2.4 lib/linux_admin/chrony.rb
linux_admin-1.2.3 lib/linux_admin/chrony.rb
linux_admin-1.2.2 lib/linux_admin/chrony.rb
linux_admin-1.2.1 lib/linux_admin/chrony.rb
linux_admin-1.0.1 lib/linux_admin/chrony.rb
linux_admin-1.2.0 lib/linux_admin/chrony.rb
linux_admin-1.1.0 lib/linux_admin/chrony.rb
linux_admin-1.0.0 lib/linux_admin/chrony.rb
linux_admin-0.20.2 lib/linux_admin/chrony.rb
linux_admin-0.20.1 lib/linux_admin/chrony.rb
linux_admin-0.20.0 lib/linux_admin/chrony.rb
linux_admin-0.19.0 lib/linux_admin/chrony.rb