Class: TarvitHelpers::RecursiveLoader

Inherits:
Object
  • Object
show all
Extended by:
Context
Defined in:
lib/tarvit-helpers/modules/recursive_loader.rb

Defined Under Namespace

Modules: Context

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(method = :require) ⇒ RecursiveLoader

Returns a new instance of RecursiveLoader.



6
7
8
9
# File 'lib/tarvit-helpers/modules/recursive_loader.rb', line 6

def initialize(method=:require)
  raise "Method #{method} is invalid, must be :require or :load" unless [ :require, :load ].include?(method)
  @method = method
end

Instance Attribute Details

#methodObject (readonly)

Returns the value of attribute method.



4
5
6
# File 'lib/tarvit-helpers/modules/recursive_loader.rb', line 4

def method
  @method
end

Instance Method Details

#load_modules(dir, priorities = []) ⇒ Object



11
12
13
14
15
16
# File 'lib/tarvit-helpers/modules/recursive_loader.rb', line 11

def load_modules(dir, priorities=[])
  load_ruby_files(dir, priorities)
  prioritize(global_dirs(dir), priorities).each do |subdir|
    load_modules dir.join(subdir), priorities
  end
end

#load_modules_in(dir) ⇒ Object



18
19
20
21
22
23
# File 'lib/tarvit-helpers/modules/recursive_loader.rb', line 18

def load_modules_in(dir)
  load_ruby_files(dir)
  valid_directories(dir).each do |subdir|
    load_modules_in dir.join(subdir)
  end
end