mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
5675cdbd41
(for constant reference). * eval.c (rb_call0): use TMP_ALLOC() instead of allocating a temporary array object. * eval.c (eval): need not to protect $SAFE value. [ruby-core:07177] * error.c (Init_Exception): change NameError to direct subclass of Exception so that default rescue do not handle it silently. * struct.c (rb_struct_select): update RDoc description. [ruby-core:7254] * numeric.c (int_upto): return an enumerator if no block is attached to the method. * numeric.c (int_downto): ditto. * numeric.c (int_dotimes): ditto. * enum.c (enum_first): new method Enumerable#first to take first n element from an enumerable. * enum.c (enum_group_by): new method Enumerable#group_by that groups enumerable values according to their block values. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9880 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
31 lines
693 B
Ruby
31 lines
693 B
Ruby
module EnvUtil
|
|
def rubybin
|
|
unless ENV["RUBYOPT"]
|
|
|
|
end
|
|
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
|