Module: XGem

Defined in:
lib/xgem.rb

Constant Summary collapse

ROOT =
File.expand_path "#{File.expand_path(__FILE__)}/../.."

Class Method Summary collapse

Class Method Details

.require(path) ⇒ Object



18
19
20
# File 'lib/xgem.rb', line 18

def self.require(path)
  __xgem_original_require resolve_require_path(path) || path
end

.resolve_autoload_path(path) ⇒ Object



9
10
11
12
13
14
15
16
# File 'lib/xgem.rb', line 9

def self.resolve_autoload_path(path)
  if xgem_path = resolve_require_path(path)
    Gem.suffixes.each do |suffix|
      return "#{xgem_path}#{suffix}" if File.file? "#{xgem_path}#{suffix}"
    end
  end
  path
end

.resolve_require_path(path) ⇒ Object



4
5
6
7
# File 'lib/xgem.rb', line 4

def self.resolve_require_path(path)
  @require_paths ||= Marshal.load(File.open("#{ROOT}/data/require_paths", "rb") { |f| f.read })
  @require_paths[path]
end