class Chef::Telemetry::Session
Public Class Methods
new()
click to toggle source
# File lib/chef/telemetry/session.rb, line 8 def initialize @id = if live_session? File.read(session_file).chomp else new_session end end
Public Instance Methods
id()
click to toggle source
# File lib/chef/telemetry/session.rb, line 16 def id FileUtils.touch(session_file) @id end
Private Instance Methods
live_session?()
click to toggle source
# File lib/chef/telemetry/session.rb, line 23 def live_session? expiry = Time.now - 600 File.file?(session_file) && File.stat(session_file).mtime > expiry end
new_session()
click to toggle source
# File lib/chef/telemetry/session.rb, line 32 def new_session id = SecureRandom.uuid FileUtils.mkdir_p(File.dirname(session_file)) File.open(session_file, "w") { |f| f.write(id) } id end
session_file()
click to toggle source
# File lib/chef/telemetry/session.rb, line 28 def session_file File.join(ChefConfig::PathHelper.home(".chef"), "TELEMETRY_SESSION_ID").freeze end