puts_debug "read " + __FILE__.foreground(:green) module Dev class Environment def self.replace_text_in_glob(glob,search,replace) Dir.glob(glob).each{ |f| replace_text_in_file(f,search,replace) } end def self.replace_text_in_file(filename,search,replace) text1 = File.read(filename) text2 = text1.gsub(search) { |str| str=replace } unless text1==text2 File.open(filename,"w") { |f| f.puts text2 } puts " replaced text in #{filename}" end end def self.dev_root 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? reg_exp = /(\/(wrk|dep|exp)\/[.\w\d-]+\/[.\w\d-]+\/[.\w\d-@]+)/ unless(Rake.original_dir().match(reg_exp).nil?) wrk_rel = Rake.original_dir().match(reg_exp)[1] if Rake.original_dir().match(reg_exp).length > 0 if(!wrk_rel.nil? && wrk_rel.length > 0) dir = Rake.original_dir().gsub(wrk_rel,""); return dir end end reg_exp = /(\/(Dropbox)\/[.\w\d-]+\/[.\w\d-]+\/[.\w\d-@]+)/ unless(Rake.original_dir().match(reg_exp).nil?) wrk_rel = Rake.original_dir().match(reg_exp)[1] if Rake.original_dir().match(reg_exp).length > 0 if(!wrk_rel.nil? && wrk_rel.length > 0) dir = Rake.original_dir().gsub(wrk_rel,""); return dir end end return dir end def self.expand_string_variables(str) eval("\"#{str.gsub('"','\"')}\"") end def self.s_to_hash(str) # check for hash hash=nil if(str.strip.index('{')==0 && str.strip.index('}')==str.strip.length-1) begin eval("hash=#{str.strip}") rescue hash=nil end end hash end def self.user return ENV['USER'] if !ENV['USER'].nil? #on Unix return ENV['USERNAME'] if !ENV['USERNAME'].nil? #on Windows return "unknown" end def self.machine if !ENV['COMPUTERNAME'].nil? return ENV['COMPUTERNAME'] end machine = `hostname` machine = machine.split('.')[0] if machine.include?('.') return machine.strip #return "unknown" end end end # module Dev