T
Trans
I may have found a much better way to override Kernel#require. Here's
my current code:
require 'uri'
module Kernel::NanoKernel
FILE_ESC_RE = %r{[^a-zA-Z_0-9.\-]}
def require( fpath )
fs = fpath.split('/')
fn = fs.pop
dn = fs.join('/')
dn += '/' unless dn.empty?
en = URI.escape( File.basename( fn ), FILE_ESC_RE )
super( "#{dn}#{en}" )
end
end
class Object
include NanoKernel
end
I appears to work flawlessly. Agree? Or do you see a bug waiting to
bite?
Thanks,
T.
my current code:
require 'uri'
module Kernel::NanoKernel
FILE_ESC_RE = %r{[^a-zA-Z_0-9.\-]}
def require( fpath )
fs = fpath.split('/')
fn = fs.pop
dn = fs.join('/')
dn += '/' unless dn.empty?
en = URI.escape( File.basename( fn ), FILE_ESC_RE )
super( "#{dn}#{en}" )
end
end
class Object
include NanoKernel
end
I appears to work flawlessly. Agree? Or do you see a bug waiting to
bite?
Thanks,
T.