class Raykit::Environment
Provides functionality related to the development environment
Public Class Methods
admin?()
click to toggle source
# File lib/raykit/environment.rb, line 60 def self.admin? rights=%x[whoami /priv] return rights.include?('SeCreateGlobalPrivilege') end
get_dev_dir(name)
click to toggle source
Get, and create if it does not exist, a specific development directory
# File lib/raykit/environment.rb, line 29 def self.get_dev_dir(name) dir = Pathname.new("#{Environment::root_dir}/#{name}") dir.mkpath dir.to_s().gsub('//','/') end
get_dir_size(dir)
click to toggle source
Get the size of a directory and its contents
# File lib/raykit/environment.rb, line 39 def self.get_dir_size(dir) Dir.glob(File.join(dir, '**', '*')) .map{ |f| File.size(f) } .inject(:+) end
get_work_dir(url)
click to toggle source
# File lib/raykit/environment.rb, line 35 def self.get_work_dir(url) Raykit::Environment::get_dev_dir('work') +'/' + url.gsub('://','/').gsub('.git','') end
home_dir()
click to toggle source
The user home directory
# File lib/raykit/environment.rb, line 23 def self.home_dir return normalize_path(ENV["USERPROFILE"]) if(ENV.include?("USERPROFILE")) normalize_path(ENV['HOME']) end
local_application_data()
click to toggle source
# File lib/raykit/environment.rb, line 56 def self.local_application_data return "#{ENV['USERPROFILE']}/AppData/Local".gsub('\\','/') end
machine()
click to toggle source
# File lib/raykit/environment.rb, line 45 def self.machine return ENV['COMPUTERNAME'] if !ENV['COMPUTERNAME'].nil? machine = `hostname` machine = machine.split('.')[0] if machine.include?('.') return machine.strip end
normalize_path(name)
click to toggle source
Normalize a directory or filename to use forward slashes
# File lib/raykit/environment.rb, line 7 def self.normalize_path(name) name.gsub('\\','/') end
root_dir()
click to toggle source
The root directory for the development environment. May be set using the environment variable DEV_ROOT, otherwise defaults to the user home directory
# File lib/raykit/environment.rb, line 14 def self.root_dir if(ENV['DEV_ROOT'].nil?) Environment::home_dir else normalize_path(ENV['DEV_ROOT']) end end
user()
click to toggle source
# File lib/raykit/environment.rb, line 52 def self.user ENV['USERNAME'] end
which(name)
click to toggle source
# File lib/raykit/environment.rb, line 65 def self.which(name) if (File.exists?(name)) return name end ["",".exe",".bat",".cmd"].each{|ext| aname = name + ext if (File.exists?(aname)) return aname end ENV['PATH'].split(File::PATH_SEPARATOR).each{|path| apath = (path.gsub("\\","/") + '/' + aname).gsub("//","/") if(File.exists?(apath)) return apath end } } '' end