3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
# File 'lib/auto_autoloader/sub_class_autoloader.rb', line 3
def const_missing(const_name)
require "string-cases"
last_name = const_name.to_s.split("::").last
last_class_name = name.to_s.split("::").last
path = "#{@autoload_path}/#{::StringCases.camel_to_snake(last_class_name)}/#{::StringCases.camel_to_snake(last_name)}.rb"
if File.exist?(path)
require path
if const_defined?(last_name)
return const_get(last_name)
else
raise LoadError, "Expected path to define #{const_name} but it didnt: #{path}"
end
end
super
end
|