40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
|
# File 'lib/rubinjam/internal.rb', line 40
def self.included(base)
base.class_eval do
def rubinjam_autload
@rubinjam_autload ||= {}
end
alias autoload_without_rubinjam autoload
def autoload(const, file)
normalized_file = Rubinjam.normalize_file(file)
if Rubinjam::LIBRARIES[normalized_file]
rubinjam_autload[const] = normalized_file
else
autoload_without_rubinjam(const, file)
end
end
alias const_missing_without_rubinjam const_missing
def const_missing(const)
@rubinjam_tried_const_missing ||= {}
if @rubinjam_tried_const_missing[const]
return const_missing_without_rubinjam(const)
end
@rubinjam_tried_const_missing[const] = true
nesting, file = Rubinjam.file_from_nesting(self, const)
if file
require file
nesting.const_get(const)
else
const_missing_without_rubinjam(const)
end
end
end
end
|