20 lines
682 B
Ruby
20 lines
682 B
Ruby
|
require 'active_support/dependencies'
|
||
|
|
||
|
module ActiveSupport::Dependencies
|
||
|
|
||
|
alias_method :require_or_load_without_multiple, :require_or_load
|
||
|
|
||
|
def require_or_load(file_name, const_path = nil)
|
||
|
if file_name.starts_with?(Rails.root.to_s + '/app')
|
||
|
relative_name = file_name.gsub(Rails.root.to_s, '')
|
||
|
@engine_paths ||= Rails::Application::Railties.engines.collect{|engine| engine.config.root.to_s }
|
||
|
@engine_paths.each do |path|
|
||
|
engine_file = File.join(path, relative_name)
|
||
|
require_or_load_without_multiple(engine_file, const_path) if File.file?(engine_file)
|
||
|
end
|
||
|
end
|
||
|
require_or_load_without_multiple(file_name, const_path)
|
||
|
end
|
||
|
|
||
|
end
|