module Earth::Loader

Public Class Methods

require_all(options = {}) click to toggle source
# File lib/earth/loader.rb, line 12
def Loader.require_all(options = {})
  require_glob ::File.join(LIB_DIR, '**', '*.rb'), options
end
require_domain(domain, options = {}) click to toggle source
# File lib/earth/loader.rb, line 16
def Loader.require_domain(domain, options = {})
  require_glob ::File.join(LIB_DIR, domain.to_s, '**', '*.rb'), options 
end
require_glob(glob, options = {}) click to toggle source
# File lib/earth/loader.rb, line 20
def Loader.require_glob(glob, options = {})
  @require_glob ||= []
  args = [glob, options]
  return if @require_glob.include?(args)
  @require_glob << args
  require_later = []
  ::Dir[glob].each do |path|
    # ugh
    if path.include?('data_miner') or path.include?('parser')
      require_later << path
    else
      require path
    end
  end
  # load data_miner blocks second to make sure they override
  require_later.each do |path|
    require path
  end if options[:load_data_miner] || options[:mine_original_sources]
  nil
end