148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
|
# File 'lib/import.rb', line 148
def import(path)
absolute_path = Imports.resolve_path(path)
object = Imports.register[absolute_path] ||= begin
code = File.read(absolute_path)
object = Imports::Context.new(path)
object.instance_eval(code, path)
object
end
keys = object.exports.__DATA__.keys
if keys.include?(:default) && keys.length == 1
return object.exports.default
elsif keys.include?(:default) && keys.length > 1
raise "Default export detected, but it wasn't the only export: #{keys.inspect}"
else
return object.exports
end
end
|