4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
# File 'lib/require_dir/initializer.rb', line 4
def self.included(base)
base.instance_eval do
class << self
attr_accessor :__require_dir_loader
extend Forwardable
def_delegators :@__require_dir_loader, :dir, :dir_r, :require_dir, :require_dir_r
def __require_dir_init(source, offset = 0, options = {})
project_folder = __require_dir_project_folder(source: source, offset: offset)
self.__require_dir_loader = __require_dir_create_loader(options, project_folder)
end
def __require_dir_create_loader(options, project_folder)
RequireDir::Loader.new(project_folder, options)
end
def __require_dir_project_folder(source:, offset: 0)
dirs_up = ''
offset.times { dirs_up << '/..' } if offset > 0
File.dirname(File.expand_path(source + dirs_up))
end
end
end
end
|