module Kernel
Private Instance Methods
import(feature)
click to toggle source
Evaluate script directly into current scope.
# File lib/finder/import.rb, line 8 def import(feature) file = Find.feature(feature, :absolute=>true).first raise LoadError, "no such file -- #{feature}" unless file instance_eval(::File.read(file), file) if file end
import_relative(fname)
click to toggle source
Evaluate script directly into current scope relative to the current script.
Note this is implemented via caller.first.
# File lib/finder/import.rb, line 20 def import_relative(fname) call = caller.first fail "Can't parse #{call}" unless call.rindex(/:\d+(:in `.*')?$/) path = $` # File.dirname(call) if /\A\((.*)\)/ =~ path # eval, etc. raise LoadError, "import_relative is called in #{$1}" end file = File.expand_path(fname, File.dirname(path)) raise LoadError, "no such file -- #{file}" unless File.file?(file) instance_eval(::File.read(file), file) #if file end