summaryrefslogtreecommitdiff
path: root/ruby_1_8_5/test/ruby/envutil.rb
diff options
context:
space:
mode:
Diffstat (limited to 'ruby_1_8_5/test/ruby/envutil.rb')
-rw-r--r--ruby_1_8_5/test/ruby/envutil.rb28
1 files changed, 28 insertions, 0 deletions
diff --git a/ruby_1_8_5/test/ruby/envutil.rb b/ruby_1_8_5/test/ruby/envutil.rb
new file mode 100644
index 0000000000..c481326288
--- /dev/null
+++ b/ruby_1_8_5/test/ruby/envutil.rb
@@ -0,0 +1,28 @@
+module EnvUtil
+ def rubybin
+ if ruby = ENV["RUBY"]
+ return ruby
+ end
+ ruby = "ruby"
+ rubyexe = ruby+".exe"
+ 3.times do
+ if File.exist? ruby and File.executable? ruby and !File.directory? ruby
+ return File.expand_path(ruby)
+ end
+ if File.exist? rubyexe and File.executable? rubyexe
+ return File.expand_path(ruby)
+ end
+ ruby = File.join("..", ruby)
+ end
+ begin
+ require "rbconfig"
+ File.join(
+ Config::CONFIG["bindir"],
+ Config::CONFIG["ruby_install_name"] + Config::CONFIG["EXEEXT"]
+ )
+ rescue LoadError
+ "ruby"
+ end
+ end
+ module_function :rubybin
+end