Method: #require

Defined in:
lib/wedge/require.rb

#require(name) ⇒ Object

rewrite require



3
4
5
6
7
8
9
10
11
12
13
14
15
16
# File 'lib/wedge/require.rb', line 3

def require(name)
  Kernel.require name

  return unless defined?(Wedge) && Wedge.respond_to?(:config)

  if name[/\Awedge/] || name[Dir.pwd]
    name       = name.sub("#{Dir.pwd}/", '').gsub(/\.rb$/, '').gsub(/\//, '__')
    caller_str = "#{caller[0]}".gsub(/(#{Dir.pwd}\/|.*(?=wedge))/, '').gsub(/:.+$/, '').gsub(/\.rb$/, '').gsub(/\//, '__')

    if !caller_str['.'] && !(Wedge.config.requires[caller_str] ||= []).include?(name)
      Wedge.config.requires[caller_str] << name
    end
  end
end