Class: Environment
Constant Summary collapse
- @@default =
nil
Instance Attribute Summary collapse
-
#output ⇒ Object
Returns the value of attribute output.
Class Method Summary collapse
-
.check ⇒ Object
def self.remove directory if(File.exists?(directory)) begin FileUtils.rm_rf directory FileUtils.rm_r directory rescue end end end.
- .default ⇒ Object
-
.dev_root ⇒ Object
Begin LEGACY support.
- .get_version(text) ⇒ Object
- .linux? ⇒ Boolean
- .mac? ⇒ Boolean
- .OS ⇒ Object
- .unix? ⇒ Boolean
- .windows? ⇒ Boolean
Instance Method Summary collapse
- #colorize? ⇒ Boolean
- #debug? ⇒ Boolean
- #get_env(key) ⇒ Object
- #has_work? ⇒ Boolean
- #home_dir ⇒ Object
- #info ⇒ Object
-
#initialize(env = nil) ⇒ Environment
constructor
A new instance of Environment.
- #log_dir ⇒ Object
- #machine ⇒ Object
- #make_dir ⇒ Object
- #out(message) ⇒ Object
- #publish_dir ⇒ Object
-
#root_dir ⇒ Object
End LEGACY support.
- #set_env(key, value) ⇒ Object
- #show_success? ⇒ Boolean
- #tmp_dir ⇒ Object
- #user ⇒ Object
- #working? ⇒ Boolean
- #wrk_dir ⇒ Object
Methods inherited from Hash
Constructor Details
#initialize(env = nil) ⇒ Environment
Returns a new instance of Environment.
13 14 15 16 17 18 19 20 21 22 |
# File 'lib/base/environment.rb', line 13 def initialize env=nil @output='' @env=Hash.new @env_aliases={'HOME' => ['USERPROFILE'], 'DEV_ROOT' => ['DEV_HOME','HOME','USERPROFILE'], 'USERNAME' => ['USER','USR'] } env.each{|k,v| @env[k.to_s]=v} if !env.nil? @@default=self if @@default.nil? end |
Instance Attribute Details
#output ⇒ Object
Returns the value of attribute output.
6 7 8 |
# File 'lib/base/environment.rb', line 6 def output @output end |
Class Method Details
.check ⇒ Object
def self.remove directory
if(File.exists?(directory))
begin
FileUtils.rm_rf directory
FileUtils.rm_r directory
rescue
end
end
end
186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 |
# File 'lib/base/environment.rb', line 186 def self.check puts 'checking commands...' missing_command=false ['ruby --version','svn --version --quiet','git --version','msbuild /version','nunit-console','nuget','candle','light','gem --version'].each{|cmd| command=Command.new(cmd) command[:quiet]=true command[:ignore_failure]=true command.execute if(command[:exit_code] == 0) puts "#{cmd.split(' ')[0]} #{get_version(command[:output])}" else puts "#{cmd.split(' ')[0]} not found." missing_command=true end } puts "missing commands may be resolved by making sure that are installed and in PATH environment variable." if missing_command end |
.default ⇒ Object
8 9 10 11 |
# File 'lib/base/environment.rb', line 8 def self.default @@default=Environment.new if @@default.nil? @@default end |
.dev_root ⇒ Object
Begin LEGACY support
25 26 27 |
# File 'lib/base/environment.rb', line 25 def self.dev_root default.root_dir end |
.get_version(text) ⇒ Object
205 206 207 |
# File 'lib/base/environment.rb', line 205 def self.get_version text text.match(/(\d+\.\d+\.[\d\w]+)/) end |
.linux? ⇒ Boolean
163 164 165 |
# File 'lib/base/environment.rb', line 163 def self.linux? unix? and not mac? end |
.mac? ⇒ Boolean
155 156 157 |
# File 'lib/base/environment.rb', line 155 def self.mac? (/darwin/ =~ RUBY_PLATFORM) != nil end |
.OS ⇒ Object
135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 |
# File 'lib/base/environment.rb', line 135 def self.OS if windows? return "windows" else if mac? return "mac" else if linux? return "linux" else return "unix" end end end end |
.unix? ⇒ Boolean
159 160 161 |
# File 'lib/base/environment.rb', line 159 def self.unix? !windows? end |
.windows? ⇒ Boolean
151 152 153 |
# File 'lib/base/environment.rb', line 151 def self.windows? Gem.win_platform? end |
Instance Method Details
#colorize? ⇒ Boolean
105 106 107 108 109 110 111 112 113 114 115 |
# File 'lib/base/environment.rb', line 105 def colorize? colorize=true if Environment.windows? if(`gem list win32console`.include?('win32console')) require 'ansi/code' else colorize=false end end colorize end |
#debug? ⇒ Boolean
100 101 102 103 |
# File 'lib/base/environment.rb', line 100 def debug? return true if get_env('DEBUG')=='true' false end |
#get_env(key) ⇒ Object
81 82 83 84 85 86 87 88 89 90 91 92 93 94 |
# File 'lib/base/environment.rb', line 81 def get_env key if(!@env.nil? && @env.has_key?(key)) return @env[key] end value = ENV[key] if(value.nil?) if(@env_aliases.has_key?(key)) @env_aliases[key].each{|akey| value=get_env(akey) if value.nil? } end end value end |
#has_work? ⇒ Boolean
122 123 124 |
# File 'lib/base/environment.rb', line 122 def has_work? true end |
#home_dir ⇒ Object
34 35 36 |
# File 'lib/base/environment.rb', line 34 def home_dir get_env('HOME').gsub('\\','/') end |
#info ⇒ Object
209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 |
# File 'lib/base/environment.rb', line 209 def info puts "Environment" puts " ruby version: #{`ruby --version`}" puts " ruby platform: #{RUBY_PLATFORM}" puts " dev_root: #{self.root_dir}" puts " machine: #{self.machine}" puts " user: #{self.user}" #puts " configuration: #{self.configuration}" puts " debug: #{self.debug?}" puts "git user.email: #{Git.user_email}" puts " " puts "Path Commands" ['svn --version --quiet','git --version','msbuild /version','nuget','candle','light','gem --version'].each{|cmd| command=Command.new(cmd) command[:quiet]=true command[:ignore_failure]=true command.execute if(command[:exit_code] == 0) puts "#{cmd.split(' ')[0].fix(14)} #{Environment.get_version(command[:output])}" else puts "#{cmd.split(' ')[0].fix(14)} not found." missing_command=true end } end |
#log_dir ⇒ Object
38 39 40 41 42 |
# File 'lib/base/environment.rb', line 38 def log_dir dir="#{root_dir}/log/#{user}@#{machine}" FileUtils.mkdir_p dir if !File.exists? dir dir end |
#machine ⇒ Object
68 69 70 71 72 73 |
# File 'lib/base/environment.rb', line 68 def machine return ENV['COMPUTERNAME'] if !ENV['COMPUTERNAME'].nil? machine = `hostname` machine = machine.split('.')[0] if machine.include?('.') return machine.strip end |
#make_dir ⇒ Object
50 51 52 53 54 |
# File 'lib/base/environment.rb', line 50 def make_dir dir="#{root_dir}/make" FileUtils.mkdir_p dir if !File.exists? dir dir end |
#out(message) ⇒ Object
126 127 128 129 |
# File 'lib/base/environment.rb', line 126 def out puts if !get_env('SUPPRESS_CONSOLE_OUTPUT') @output=@output++'\n' end |
#publish_dir ⇒ Object
56 57 58 59 60 |
# File 'lib/base/environment.rb', line 56 def publish_dir dir="#{root_dir}/publish" FileUtils.mkdir_p dir if !File.exists? dir dir end |
#root_dir ⇒ Object
End LEGACY support
30 31 32 |
# File 'lib/base/environment.rb', line 30 def root_dir get_env('DEV_ROOT').gsub('\\','/') end |
#set_env(key, value) ⇒ Object
96 97 98 |
# File 'lib/base/environment.rb', line 96 def set_env key,value @env[key]=value end |
#show_success? ⇒ Boolean
131 132 133 |
# File 'lib/base/environment.rb', line 131 def show_success? true end |
#tmp_dir ⇒ Object
44 45 46 47 48 |
# File 'lib/base/environment.rb', line 44 def tmp_dir dir="#{root_dir}/tmp" FileUtils.mkdir_p dir if !File.exists? dir dir end |
#user ⇒ Object
75 76 77 78 79 |
# File 'lib/base/environment.rb', line 75 def user get_env('USERNAME') #return ENV['USER'] if !ENV['USER'].nil? #on Unix #ENV['USERNAME'] end |
#working? ⇒ Boolean
117 118 119 120 |
# File 'lib/base/environment.rb', line 117 def working? return true if Rake.application.original_dir.include? wrk_dir false end |
#wrk_dir ⇒ Object
62 63 64 65 66 |
# File 'lib/base/environment.rb', line 62 def wrk_dir dir="#{root_dir}/wrk" FileUtils.mkdir_p dir if !File.exists? dir dir end |