diff options
author | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-10-16 13:23:15 +0000 |
---|---|---|
committer | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-10-16 13:23:15 +0000 |
commit | 74785cabdd6d1e4630adcf97d5e91d13223fb8a4 (patch) | |
tree | ba841ed9276011ba7c83c2ee80b2e33709640c77 | |
parent | 682ab87c6b1d601ed8a420e79c4c1883ae7f5291 (diff) | |
download | ruby-74785cabdd6d1e4630adcf97d5e91d13223fb8a4.tar.gz ruby-74785cabdd6d1e4630adcf97d5e91d13223fb8a4.tar.xz ruby-74785cabdd6d1e4630adcf97d5e91d13223fb8a4.zip |
* prelude.rb (require_relative): defined as a module function of
Kernel.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@25376 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | prelude.rb | 19 |
2 files changed, 16 insertions, 8 deletions
@@ -1,3 +1,8 @@ +Fri Oct 16 22:20:25 2009 Tanaka Akira <akr@fsij.org> + + * prelude.rb (require_relative): defined as a module function of + Kernel. + Fri Oct 16 20:18:28 2009 Yukihiro Matsumoto <matz@ruby-lang.org> * lib/delegate.rb (Delegator#method_missing): remove backtrace diff --git a/prelude.rb b/prelude.rb index fdf401b56..a9e9e3c23 100644 --- a/prelude.rb +++ b/prelude.rb @@ -23,13 +23,16 @@ class Thread end end -def require_relative(relative_feature) - c = caller.first - e = c.rindex(/:\d+:in /) - file = $` - if /\A\((.*)\)/ =~ file # eval, etc. - raise LoadError, "require_relative is called in #{$1}" +module Kernel + module_function + def require_relative(relative_feature) + c = caller.first + e = c.rindex(/:\d+:in /) + file = $` + if /\A\((.*)\)/ =~ file # eval, etc. + raise LoadError, "require_relative is called in #{$1}" + end + absolute_feature = File.expand_path(File.join(File.dirname(file), relative_feature)) + require absolute_feature end - absolute_feature = File.expand_path(File.join(File.dirname(file), relative_feature)) - require absolute_feature end |