class RoxClient::UID

Constants

ENVIRONMENT_VARIABLE

Public Class Methods

new(options = {}) click to toggle source
# File lib/rox-client-ruby/uid.rb, line 10
def initialize options = {}
  @workspace = options[:workspace]
end

Public Instance Methods

clean_uid() click to toggle source
# File lib/rox-client-ruby/uid.rb, line 32
def clean_uid
  ENV.delete ENVIRONMENT_VARIABLE
  FileUtils.remove_entry_secure uid_file if @workspace and File.exists?(uid_file)
end
generate_uid_to_env() click to toggle source
# File lib/rox-client-ruby/uid.rb, line 27
def generate_uid_to_env
  raise Error.new("$ROX_TEST_RUN_UID is already defined") if env_var
  ENV[ENVIRONMENT_VARIABLE] = generate_uid
end
generate_uid_to_file() click to toggle source
# File lib/rox-client-ruby/uid.rb, line 22
def generate_uid_to_file
  raise Error.new("No workspace specified; cannot save test run UID") if !@workspace
  generate_uid.tap{ |uid| save_uid uid }
end
load_uid() click to toggle source
# File lib/rox-client-ruby/uid.rb, line 14
def load_uid
  if env_var
    return env_var
  elsif @workspace
    current_uid
  end
end

Private Instance Methods

current_uid() click to toggle source
# File lib/rox-client-ruby/uid.rb, line 48
def current_uid
  File.file?(uid_file) ? File.read(uid_file) : nil
end
env_var() click to toggle source
# File lib/rox-client-ruby/uid.rb, line 44
def env_var
  ENV[ENVIRONMENT_VARIABLE]
end
generate_uid() click to toggle source
# File lib/rox-client-ruby/uid.rb, line 56
def generate_uid
  "#{Time.now.utc.strftime '%Y%m%d%H%M%S'}-#{SecureRandom.uuid}"
end
save_uid(uid) click to toggle source
# File lib/rox-client-ruby/uid.rb, line 39
def save_uid uid
  FileUtils.mkdir_p File.dirname(uid_file)
  File.open(uid_file, 'w'){ |f| f.write uid }
end
uid_file() click to toggle source
# File lib/rox-client-ruby/uid.rb, line 52
def uid_file
  @uid_file ||= File.join(@workspace, 'uid')
end