class Environment < Hash def initialize end def self.scm return "git" if(Dir.exists?(".git")) return "svn" if(Dir.exists?(".svn")) "none" end def self.dev_root ["DEV_HOME","DEV_ROOT","USERPROFILE","HOME"].each {|v| return ENV[v].gsub('\\','/') unless ENV[v].nil? } dir="~" dir=ENV["HOME"] unless ENV["HOME"].nil? dir=ENV["USERPROFILE"].gsub('\\','/') unless ENV["USERPROFILE"].nil? dir=ENV["DEV_ROOT"].gsub('\\','/') unless ENV["DEV_ROOT"].nil? return dir end def self.working_directory Rake.application.original_dir end def self.context dir =Environment.working_directory.gsub(Environment.dev_root + '/','') return dir.split('/').first end def self.relative_directory Environment.working_directory.gsub(Environment.dev_root + '/' + Environment.context + '/','') end def self.branch if(Environment.scm=='git') branches=`git branch`.split(/\n/) branches.each{|b| return b.gsub('*','').strip if b.include?('*') } end end end