Module: Require

Defined in:
lib/require-magic.rb

Class Method Summary collapse

Class Method Details

.folder(name, options = {}) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/require-magic.rb', line 7

def self.folder(name, options = {})
  recursive = options[:recursive]
  folder_list = options[:folders]
  file_pattern =  recursive ? "#{name}/**/*.rb" : "#{name}/*.rb" 
  base_path = File.dirname(__FILE__)
  path = File.join(base_path, file_pattern)
  required_files = []

  puts_trace "folder:: name: #{name}", options    

  if !options[:root_files] || options[:root_files] == :before
    required_files << require_root_files(name, folder_list, path, options)
    # options[:root] = false
    required_files << require_folder_list(name, folder_list, options)    
  else
    required_files << require_folder_list(name, folder_list, options)          
    required_files << require_root_files(name, folder_list, path, options)
    # options[:root] = false      
  end
  required_files.flatten
end

.folders(folder_list, options = {}) ⇒ Object



35
36
37
38
39
40
41
42
# File 'lib/require-magic.rb', line 35

def self.folders(folder_list, options = {})
  required_files = []
  folder_list.each do |path| 
    options[:root] = path if is_root?(path, options) 
    required_files << folder(path, options)
  end
  required_files.flatten
end

.rfolder(name, options = {}) ⇒ Object



2
3
4
5
# File 'lib/require-magic.rb', line 2

def self.rfolder(name, options = {})
  options[:recursive] = true
  folder(name, options)    
end

.rfolders(folder_list, options = {}) ⇒ Object



29
30
31
32
# File 'lib/require-magic.rb', line 29

def self.rfolders(folder_list, options = {}) 
  options[:recursive] = true
  folders(folder_list, options)    
end