Skip to content

Commit f7fd647

Browse files
committed
require may be passed expanded-path.
1 parent 29c6977 commit f7fd647

File tree

1 file changed

+9
-4
lines changed

1 file changed

+9
-4
lines changed

load_so.rb

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,17 +12,22 @@ def require(name)
1212
type = $1.intern
1313
''
1414
end
15-
$:.each do |dir|
15+
if name =~ /^[A-Z]:/
16+
dirs = [""]
17+
else
18+
dirs = $:.map{|dir| "#{dir}/"}
19+
end
20+
dirs.each do |dir|
1621
if type != :rb
17-
file = "#{dir}/#{name}.so"
22+
file = "#{dir}#{name}.so"
1823
return require_so(file) if File.exist?(file)
1924
end
2025
if type != :so
21-
file = "#{dir}/#{name}.rb"
26+
file = "#{dir}#{name}.rb"
2227
return require_rb(file) if File.exist?(file)
2328
end
2429
end
25-
require_rb(name) # raise LoadError
30+
raise LoadError
2631
end
2732
$:.push "./Data/lib", "./Data/ext"
2833
$:.uniq!

0 commit comments

Comments
 (0)