- @config = YAML.load(File.read(config))
- @state = YAML.load(File.read(@config["state_file"]))
- @conn = PGconn.connect(@config["db"])
- @now = Time.now.getutc
+ @config = YAML.safe_load(File.read(config))
+ @state = YAML.safe_load(File.read(@config["state_file"]), [Time])
+ @conn = PG::Connection.connect(@config["db"])
+ # get current time from the database rather than the current system
+ @now = @conn.exec("select now() as now").map { |row| Time.parse(row["now"]) }[0]