class Raykit::Environment

Provides functionality related to the development environment

def self.get_dev_dir(name)

Get, and create if it does not exist, a specific development directory
def self.get_dev_dir(name)
    dir = Pathname.new("#{Environment::root_dir}/#{name}")
    dir.mkpath
    dir.to_s
end

def self.get_dir_size(dir)

Get the size of a directory and its contents
def self.get_dir_size(dir)
    Dir.glob(File.join(dir, '**', '*'))
        .map{ |f| File.size(f) }
        .inject(:+)
end

def self.home_dir

The user home directory
def self.home_dir
    return normalize_path(ENV["USERPROFILE"]) if(ENV.include?("USERPROFILE"))
    normalize_path(ENV['HOME'])
end

def self.machine

def self.machine
    return ENV['COMPUTERNAME'] if !ENV['COMPUTERNAME'].nil? 
    machine = `hostname`
    machine = machine.split('.')[0] if machine.include?('.')
    return machine.strip
  end

def self.normalize_path(name)

Normalize a directory or filename to use forward slashes
def self.normalize_path(name)
    name.gsub('\\','/')
end

def self.root_dir

otherwise defaults to the user home directory
May be set using the environment variable DEV_ROOT,
The root directory for the development environment.
def self.root_dir
    if(ENV['DEV_ROOT'].nil?)
        Environment::home_dir
    else
        normalize_path(ENV['DEV_ROOT'])
    end
end

def self.user

def self.user
  ENV['USERNAME']
end